Чтение ASCII файла TAB заменяется на NULL - PullRequest
0 голосов
/ 14 сентября 2009

Я использую CreateFileA и ReadFile в Visual C ++ 2008, чтобы открыть и прочитать текстовый файл ASCII в память. Это работает хорошо (я могу просмотреть его содержимое в памяти), но с одним исключением. По какой-то причине символы табуляции (0x09) меняются на NULL (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 );

Мой код проекта имеет надежную обработку ошибок, и я не получаю никаких ошибок. Любые предложения будут оценены.

Спасибо.

1 Ответ

1 голос
/ 15 сентября 2009

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

...