Problem mit der Funktion SetAt vom CStringArray
-
Hallo.
Mein Programm gibt mir beim Debuggen immer an der Stelle
int pos=0; char* tok; Dateien.SetAt(pos,(LPCTSTR) tok);
eine Fehlermeldung.
Sieh dort jemand einen Fehler?
Cu
Oli
-
char* tok; hat garkeinen speicher
-
char*tok zeigt auf einen Speicher, der für Ihn schon früher im Programm reserviert wurde.
Cu
Oli
-
glaub ich dir ned. dann zeig mal die stelle. LOL
-
Kurz zur Erklärung:
Ich nutze die Funktion tok = strtok(Buffer,"\t\n");
tok wurde mit:
char ctok[200]
Char *tok;
tok = ctok;Zufrieden??
Habe übrigens den gleichen fehler, wenn ich ein char von der größe 41 in das CStringArray schreiben möchte.
[ Dieser Beitrag wurde am 17.12.2002 um 13:57 Uhr von Oli_1977 editiert. ]
-
Problem gelöst.
Das CStringArray war nicht groß genug.
Habe jetzt vor jedem SchleifendurchlaufDateien.SetSize(Dateien[0].GetSize()+1,-1);
ausgführt und es funktioniert.
CU
Oli
-
Normalerweise gibts dafür die Funktion Add()
-
Hallo.
Ja ich weiß. Kannman aber nicht verwenden, wenn man öfters auf die gleiche Stelle schreibt.Cu
Oli
-
Nunja, solange man an die gleiche Stelle schreibt, muss man ja auch net SetSize aufrufen!
-
Da hast Du auch wieder recht.