[C++] Daten aus einer EditBox in eine Text Datei schreiben

HansJ

Mitglied
In einer vorhandenen Anwendung werden Daten in eine Edit Box "IDC_EDIT_DATA" geschrieben.
Diesen Inhalt möchte ich in eine Text Datei schreiben.

Code:
TCHAR szTest[14];
HWND hctl_data;

hctl_data = GetDlgItem(hwnd,IDC_EDIT_DATA);

[size=12][size=9]Edit_SetText(hctl_data, (LPTSTR)SCNBUF_GETDATA (lpScanBuffer));

Ich habe mit
Code:
Edit_GetText(hctl_data, szTest,14);

das Feld ausgelesen, weiß jedoch nicht wie ich szTest in eine Datei schreiben kann.
 
Wenn der Text in Deinem Puffer (szTest) steht, dann sollte das doch kein Problem sein:
-Datei öffnen
-Puffer reinschreiben
-Datei schließen
z.B. mit CFile:
Code:
CFile file;
   
   file.Open("C:\Pfad\Datei.txt", CFile::modeReadWrite);
   file.Write(szTest, strlen(szTest));
   file.Close();
Vielleicht willst Du noch andere Flags im Open nehmen, schau mal in die MSDN, da ist das alles beschrieben.
 
Danke für die Hilfe leider treten Fehler auf.
In der Zeile
CFile file;
C:\1EVC\BasicScan\BasicScan.c(76) : error C2061: syntax error : identifier 'file'
C:\1EVC\BasicScan\BasicScan.c(76) : error C2059: syntax error : ';'

Wenn ich versuche so zu speichern

FILE *stream;
stream=fopen("\\Temp\\Test.txt","w+");
fprintf(szTest, strlen(szTest));
fclose(stream);

Werden diese Fehler angezeigt

C:\1EVC\BasicScan\BasicScan.c(331) : warning C4133: 'function' : incompatible types - from 'unsigned short [14]' to 'const char *'
C:\1EVC\BasicScan\BasicScan.c(331) : warning C4047: 'function' : 'const char *' differs in levels of indirection from 'unsigned int '
C:\1EVC\BasicScan\BasicScan.c(331) : warning C4024: 'fprintf' : different types for formal and actual parameter 2
 
Zu meinem Beispiel: Vielleicht darfst Du den Namen 'file' nicht verwenden, probiere mal einen anderen Variablennamen aus.
zu Deinem stream:
fprintf erwartet als ersten Parameter den FILE* stream, also
Code:
fprintf(stream, szTest, strlen(szTest));
 
Das ist der szText. Scheinbar ist bei Dir UNICODE eingestellt, dann ist ein 'TCHAR' ein 'unsigned short'. Nimm statt des TCHAR einen 'unsigned char', dann sollte es gehen.
 
So funktioniert es

stream=fopen("\\Temp\\Test.txt","w");
fwprintf( stream, szTest );
fclose(stream);

Vielen Dank für die Hilfe
 
Zurück