Daten Speicher Problem
-
Ich habe einen Button mit dem ich den Inhalt aus 6 Eingabefenstern in eine Datei speichern möchte. Ich nutzte dazu folgendes
void CSpeichernDlg::OnButton1() { TCHAR str[1000]; UpdateData( TRUE ); _tcscpy( str, m_strEdit1); _tcscpy( str, m_strEdit2); _tcscpy( str, m_strEdit3); _tcscpy( str, m_strEdit4); //_tcscpy( str, m_strEdit5); //_tcscpy( str, m_strEdit6); CFile datei( "C:\\Kunden.txt", CFile::modeCreate | CFile::modeWrite ); datei.Write( str, sizeof( str ) ); datei.Close(); }allerdings steht dann in der Datei nur so komische Zeichen -.-
hat jemand nen Rat ?
-
1. Du schreibst ja eigentlich nur den letzten Eintrag in "str"
2. Es werden ja immer 1000 Zeichen rausgeschrieben, egal wieviel im String wirklich drin steht... (gedacht war wohl: _tcslen(str)*sizeof(TCHAR))
3. So wirst Du die Daten kaum wieder vernünftig einlesen können
-
Kannste das evtl mal an meinem Beispiel zeigen wie des aussehn müsste?
-
steve22(off) schrieb:
Kannste das evtl mal an meinem Beispiel zeigen wie des aussehn müsste?
Du meinst, so wie Du es gemacht hast, nur korrekt?
CString str; str += m_strEdit1; str += m_strEdit2; str += m_strEdit3; str += m_strEdit4; CFile datei(_T("C:\\Kunden.txt"), CFile::modeCreate | CFile::modeWrite ); datei.Write(str.GetBuffer(), str.GetLength() * sizeof(TCHAR) ); datei.Close();Oder ganz anders, so dass man die Datei auch wieder einlesen kann!?