warum geht das nicht????
-
hi!
Ich will eine textdatei auslesen und alles in einen char array lesen. ich will dieses array aber genauso groß machen wie die datei groß ist ->klar!
ich bekomme aber immer einen Konvertierungsfehler: "expected constant expression"1.)Wie kann man das noch machen?
2.) Kann ich vielleicht ein textfile zeilenweise einlesen oder geht das nur auf char basis??danke schonmal
l00PCFile file; file.Open("C:\\Demo.txt", CFile::modeCreate | CFile::modeNoTruncate | CFile::modeRead); long a = file.GetLength(); char allMembers[a]; file.Read(allMembers,sizeof(allMembers)); file.Close();
-
char allMembers[a]; kann nicht gehen, da der Compiler schon wissen will wieviel Speicher er reservieren muß.
Alternativ kannst Du CArray<char,char> oder CString verwenden.CStdioFile hat eine Fkt. ReadString, die jeweils eine Zeile aus einer Datei einliest.
-
aber wenn ich eine variable einsetze "a" weiß der doch wiviel speicher er reservieren soll oder?
-
Die Anzahl der Elemente des arrays muss schon feststehen, wenn du deinen Quelltext schreibst - nicht erst zur Laufzeit.
Wenn du das erst zur Laufzeit wissen kannst, musst du den Speicher dynamisch anfordern oder, wie schon geschrieben, CArray nehmen.