Вопрос

Я использую CreateFileA и ReadFile в Visual C ++ 2008 для открытия и чтения текстового файла ASCII в память.Это работает нормально (я могу просмотреть его содержимое в памяти), но с одним исключением.По какой-то причине символы ТАБУЛЯЦИИ (0x09) заменяются на нули (0x00).Излишне говорить, что это сеет хаос, когда я пытаюсь разобрать файл.Кто-нибудь знает, что может быть причиной этого, или как я могу это исправить?

Вот как я открываю файл:

hHandle = CreateFileA( pPath, GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL );
GetFileSizeEx( hHandle, &tFileSize );
pBuf = (UINT8 *)malloc( tFileSize.LowPart );
ReadFile( hHandle, pBuf, tFileSize.LowPart, &dwBytesRead, NULL );

Код моего проекта имеет надежную обработку ошибок, и я не получаю никаких ошибок.Будем признательны за любые предложения.

Спасибо.

Это было полезно?

Решение

Это кажется действительно маловероятным.Использовали ли вы какой-либо другой инструмент для проверки файла на диске и проверки наличия символов табуляции?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top