Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » string[5000]

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 < [ 3 ] [ 4 ]
010
25.07.2004, 15:40 Uhr
Hans
Library Walker
(Operator)



Zitat von RedEagle:
In den Ordnern sind mindestens 2000 Datein drin, aber es können noch mehr werden (deshalb 5000).

!!Wie mache ich ein Dynamisches Array??

Hi,

Dynamisches Array = verkettete Liste.

Stimmt zwar nicht hundert prozentig, aber mit dieser Datenstruktur bist Du bei dem Vorhaben besser bedient, weil sie nur genau soviel Speicher benötigt, wie für die Dateinamen nötig sind.
Das könnte in etwa so aussehen:

C++:
struct Liste
{ int nummer;
   char FileName[31]; // 30 Zeichen für den Dateinamen
    struct Liste *nächster;
    struct Liste *vorheriger;
};


Das ist jetzt ein Ansatz für 'ne doppelt verkettete Liste, weil ein Zeiger für das nachfolgende Element und einer für das vorherige Element deklariert ist. Dazu brauchst Du ein paar Routinen zum Anlegen (malloc in C), Löschen (free in C) und füllen der Listenelemente. Wie man das genau macht hängt davon ab, ob Du C oder C++ nimmst. Dazu musst Du Dich mal ein bisschen mit Algorithmen und Datenstrukturen beschäftigen. D.h. die Datenstruktur hab ich ja schon vorgegeben, die verkettete Liste nämlich.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 25.07.2004 um 15:41 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
25.07.2004, 15:49 Uhr
Spacelord
Hoffnungsloser Fall


@Hans:
Was spricht den gegen einen std::vector oder vergleichbares?
Eine Zeile Code zum erzeugen,kein Speichermanagment(zumindest keins worum man sich selber kümmern muss) und die Möglichkeit die STL Algorithmen benutzen zu können machen diese Variante in meinen Augen wesentlich interessanter als die komplette Implementierung einer verketteten Liste(mal abgesehen davon das es die auch schon "fertig" gibt).

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
25.07.2004, 15:57 Uhr
(un)wissender
Niveauwart


Es kommt noch besser: Wenn man eine lustige Liste will, dann ist std::list da.

Was Hans da mit char[31] vorschlägt ist gefährlich, weil nicht auf die Länge des Namens eingegangen wird.
Hans, bist du Programmierer bei Microsoft? Die machen sowas ständig, daher auch immer diese Bufferoverflows....

@Windalf
Bin ich nicht immer ein wenig schneller?
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
25.07.2004, 16:08 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)



Zitat:

Bin ich nicht immer ein wenig schneller?


immer seltener
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
25.07.2004, 16:26 Uhr
Hans
Library Walker
(Operator)



Zitat von Spacelord:
@Hans:
Was spricht den gegen einen std::vector oder vergleichbares?

Öhhh... - gar nichts. Ich kenn mich halt nur mit C++, bzw. der STL nicht wirklich aus, deshalb bleibe ich mit meinen Vorschlägen meist bei den Dingen, von denen ich auch Ahnung habe. Aber im Prinzip hast Du recht. Da es das in der STL bereits alles fertig gibt, kann man es natürlich auch benutzen.

Zitat von (un)wissender:
Was Hans da mit char[31] vorschlägt ist gefährlich, weil nicht auf die Länge des Namens eingegangen wird.
Hans, bist du Programmierer bei Microsoft? Die machen sowas ständig, daher auch immer diese Bufferoverflows....

Da muss ich Dir sogar recht geben, was die länge des Dateinamens betrift. Ich hatte da erst einen char *FileName stehen, und hab das nacher geändert. Und was die Firma Mikroschrott (oder mikro$oft oder WinzigWeich, oder so ähnlich) angeht: Ne! - Ich bin weder bei denen noch bei einem Vertragspartner oder was auch immer, von denen beschäftigt. Ich hab ja auch mal 'ne Zeitlang den Standpunkt vertreten, "Lieber Arbeitslos, als bei Microsoft beschäftigt." aber das müsste ich mir jetzt vielleicht doch noch mal überlegen. - Obwohl: Ich glaube, die würden mich während der Probezeit sowieso wieder feuern... Aber lassen wir das!

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
25.07.2004, 16:36 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



Zitat von Hans:

Obwohl: Ich glaube, die würden mich während der Probezeit sowieso wieder feuern... Aber lassen wir das!



Wieder feuern? Weil Winzigweich nach Leistung bezahlt und so dich nicht bezahlen könnte?
(was folgt daraus: WW-Programmier sind: ______________ )
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
25.07.2004, 16:36 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


Ich würde sofort bei MS anfangen wenn die mich haben wollen
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
25.07.2004, 16:41 Uhr
RedEagle



Also: ich habe viel gelesen aber wenig verstanden
Das mit std::vector hört sich gut an (das habe ich einigermaßen verstanden). Und wie wende ich das an??

ps.: Die Dateinamen sind höchsten "xxxxxxxx.xxx" (also 12 zeichen)
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
25.07.2004, 16:42 Uhr
invalid_username



würd mich auch freuen wenns dass machen würdest dann würde ich mal ein pro -windows mensch werden ..
naja ich meine bissel niveau würde ms auch gut tun ..
--
((void)*)0
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
019
25.07.2004, 16:46 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


@RedEagle
verwende mal die forumssuche da sind massenweise beispiel...

du kannst einfach immer mit push_back(element) ein element deinem array hinzufügen...

an sonsten kannst du mit dem teil genauso arbeiten wie mit nem array (also []-operator) geht z.b. auch und das teil kann noch so einiges mehr. auch bietet die stl jede menge standardalogrithmen die man ständig braucht (sortieren ,kopieren weiss was ich alles)
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 < [ 3 ] [ 4 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: