Почему этот код ничего не выводит (кроме информационного слова)? Файл существует.
hReadFile = CreateFile(L"indexing.xml",GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ |FILE_SHARE_WRITE, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
wchar_t *wchr = new wchar_t[20];
DWORD dw;
ReadFile(hReadFile, wchr, sizeof(wchar_t) * 5, &dw, NULL);
CloseHandle(hReadFile);
wchr[dw/sizeof(wchar_t)] = L'\0';
std::wcout << L"info " << wchr << L" " << dw << std::endl;
wchr
послеReadFile
? - person Andrey   schedule 24.10.2012wchr[dw] = 0;
- person john   schedule 24.10.2012wchr[dw/sizeof(wchar_t)] = 0
при условии, что все удалось. - person Yakov Galka   schedule 24.10.2012ReadFile
вместоifstream
и UTF-16 вместо UTF-8. Я знаю, что Юникод в Windows — отстой. - person Yakov Galka   schedule 24.10.2012ReadFile
не знает, что она читает, для функции файл — это просто поток байтов, и она не знает и не заботится о какой-либо структуре, вы можете наложить структуру (например, завершающие строки, считанные из файла) . - person Some programmer dude   schedule 24.10.2012dw
после возвращения изReadFile()
? Отличается ли он от 0; - person alk   schedule 24.10.2012std::wcout << L"info " << (wchr+1) << L" " << dw << std::endl;
печатать то, что вы ожидаете? - person alk   schedule 24.10.2012