[VC++.NET] Laden/Speichern von dateien

Byte3

Grünschnabel
Hallo

Ich bin recht neu bei VC++.NET, hab vorher in VB6 programmiert.

Ein wenig kann ihc ja schon mit Laden/Speichern anfangen:

Code:
char str[1000];
CFile datei( txtDir, CFile::modeRead );
datei.Read( str, sizeof( str ) );
datei.Close();
MessageBox(str);
txtText = str;
UpdateData(false);

Ich frag mich ob die größe von "str" immer vorgegeben werden muss --> char str[1000];
Wie mach ich das wenn ich nicht von vornherein weiß wieviel platz ich brauch? Kann man "str" irgendwie "dynamisch" machen das die größe immer genau so ist das die datei dort reinpasst?

In VB6 gibs so eine nette sache wie "Line Input", also zeilenweises einlesen aus einer datei, gibts sowas in der art auch für VC++.net ?

mfg
Byte
 
Hallo,

schaue dir mal die Klasse "CStdioFile" an. Dort kannst du mit der Methode "ReadString" eine Textdatei zeilenweise lesen und den gelesenen String direkt in ein CString-Object schreiben.
 
Danke, funktioniert super

Hier der code, evtl. hilfts mal jemanden weiter.

Code:
CStdioFile datei(path,CStdioFile::modeRead);

CString str;

datei.ReadString(str);
while (str != "")
{
MessageBox(str);

datei.ReadString(str);
}
 
Hallo Byte,
ich würde den Code etwas anders schreiben:

Code:
CStdioFile datei(path, CStdioFile::modeRead);
CString    str;

while( datei.ReadString(str) )
{
    MessageBox(str);
}

datei.Close();

Bei deiner Variante wird das Auslesen bei einer Leerzeile in der Datei vorzeitig abgebrochen.
 

Neue Beiträge

Zurück