Unicode und verschluckte Zeichen?!?
-
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