Filou Geschrieben 9. August 2005 Geschrieben 9. August 2005 hi, hab ne dumme Frage: Wie bekomme ich herraus, vieviele iCount maximal ist? Also wieviele der 1000 zellen gefüllt sind? Weil, mit sizeof gehts nämlich nicht. CString g_csFiles[1000]; int x = sizeof(g_csFiles); while (iCount < x) { ... } bei mir ist x = 4000 obwohl es nur 4 deiteien enthält.
Guybrush Threepwood Geschrieben 9. August 2005 Geschrieben 9. August 2005 häh? 4000 ist ja auch richtig. sizeof(Cstring) ist 4 und 1000 Stück davon sind halt 4000 Byte. Was du haben willst musst du entweder selber mitzählen wenn du es füllst oder einfach überprüfen ob das aktuelle Element leer ist.
Filou Geschrieben 9. August 2005 Autor Geschrieben 9. August 2005 häh? 4000 ist ja auch richtig. sizeof(Cstring) ist 4 und 1000 Stück davon sind halt 4000 Byte. Was du haben willst musst du entweder selber mitzählen wenn du es füllst oder einfach überprüfen ob das aktuelle Element leer ist. Na ich will, dass wenn die liste 4 einträge enthält, die schleife 4 mal durchlaufen wird um alle 4 dateinamen aus dem array auszulesen. wenn ich halt immer 4000 raus bekomme kann ich es ja durch 1000 teilen, dann würde es auch gehen. aber ob das sauber ist...
Klotzkopp Geschrieben 9. August 2005 Geschrieben 9. August 2005 sizeof(g_csFiles) / sizeof (g_csFiles[0])
Guybrush Threepwood Geschrieben 9. August 2005 Geschrieben 9. August 2005 Na ich will, dass wenn die liste 4 einträge enthält, die schleife 4 mal durchlaufen wird um alle 4 dateinamen aus dem array auszulesen. Dann musst du es so machen wie ich gesagt habe wenn ich halt immer 4000 raus bekomme kann ich es ja durch 1000 teilen, dann würde es auch gehen. aber ob das sauber ist... nein. das CString Objekt ist immer 4 Byte groß. Egal wie lang der String ist den es beinhaltet. D.h. bei sizeof(x) bekommst du immer 4000 raus und wenn du x als CString x[2000] anlegst bekommst du halt 8000 raus. sizeof(g_csFiles) / sizeof (g_csFiles[0]) Wenn ich das Problem richtig verstanden habe ist das nicht was er sucht. Er hat ja anscheinenend immer ein Array mit 1000 Feldern von denen er nur eine bestimmte Anzahl füllt. Nun will er wissen wieviele davon gefüllt sind...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden