W
Hallo NG,
ich versuche Text in eine Unicode Datei zu bringen, jedoch wird der 1. Buchstabe immer abgeschnitten.
HANDLE hFile;
int x = 0;
int i = 0;
DWORD numWrite;
TCHAR zwTchar;
CString Zeile = "";
const TCHAR* szFilename1 = GeoeffneteDateimitPfad;
hFile = CreateFile(szFilename1, GENERIC_WRITE, 0, 0, CREATE_ALWAYS, 0, 0);
if(hFile == INVALID_HANDLE_VALUE){
MessageBox(_T("Kann Datei nicht öffnen!"),NULL,MB_OK);}
else{
while(x <= ZeilenCounter){
Zeile = ...;
while (i < Zeile.GetLength ()){
zwTchar = MAKEWORD(Zeile.GetAt(i) ,0);
WriteFile(hFile,&zwTchar,sizeof(zwTchar),&numWrite,0);
i++;
}
i = 0;
x++;
}
}
CloseHandle(hFile);
Meine Frage:
Muss ich etwas besonderes beachten, wenn ich in diese datei schreiben will?
ODER:
Mache ich den Fehler bereits beim Öffnen?
HANDLE hFile;
WORD wLeadin;
DWORD dwNumRead;
CString Pfad = "My\ Documents\\Task\\";
CString Datei = pmyListCtrl->GetItemText (selItem,4);
GeoeffneteDateimitPfad = Pfad + Datei;
const TCHAR* szFilename = GeoeffneteDateimitPfad;
TCHAR szChar[2], zwTchar;
DateiInhalt = "";
hFile = CreateFile(szFilename, GENERIC_READ, 0, 0, OPEN_EXISTING, 0, 0);
if(hFile == INVALID_HANDLE_VALUE){
MessageBox(TEXT("Invalide File Handle"),NULL,MB_OK);
}
if(ReadFile(hFile, &wLeadin, 2, &dwNumRead, 0)){
while(ReadFile(hFile, szChar, sizeof(TCHAR), &dwNumRead, 0) && dwNumRead >0){
szChar[1] = '\0';
DateiInhalt = DateiInhalt + szChar[0];
}
}
else{
MessageBox(TEXT("Kann Datei nicht öffnen"),NULL,MB_OK);
}
CloseHandle(hFile);
Vielen Dank für die Hilfe!
Gruß Walter