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. Zitieren
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. Zitieren
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... Zitieren
Klotzkopp Geschrieben 9. August 2005 Geschrieben 9. August 2005 sizeof(g_csFiles) / sizeof (g_csFiles[0]) Zitieren
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... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.