Я пытаюсь написать строку типа wchar_t
в файл с помощью WriteFile()
. Вот код:Может ли WriteFile() использоваться для записи символов wchar_t в файл?
void main()
{
wchar_t dataString[1024];
HANDLE hEvent, hFile;
DWORD dwBytesWritten, dwBytesToWrite;
hFile = CreateFileW(L"e:\\test.txt", GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if(hFile == INVALID_HANDLE_VALUE)
{
printf("Invalid file handle: %d\n", GetLastError());
return;
}
wcscpy(dataString, L"Hello");
dwBytesToWrite = wcslen(dataString);
WriteFile(hFile, (LPVOID)dataString, dwBytesToWrite, &dwBytesWritten, NULL);
CloseHandle(hFile);
}
Я ожидаю, что строка Hello
быть записана в файл. Однако выход в файл, как это:
H e l
Любая идея, почему она не пишет всю строку Hello
в файл?
Да, что сработало. спасибо – Neena