0

我在 Visual C++ 2008 中使用 CreateFileA 和 ReadFile 打开一个 ASCII 文本文件并将其读入内存。这可以正常工作(我可以在内存中查看其内容),但有一个例外。由于某种原因,TAB 字符 (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 );

我的项目代码具有强大的错误处理能力,而且我没有收到任何错误。任何建议,将不胜感激。

谢谢。

4

1 回答 1

1

这似乎真的不太可能。您是否使用其他工具检查磁盘上的文件,并验证制表符是否存在?

于 2009-09-14T20:03:32.800 回答