[英]Can't get ReadFile to read from the file i just wrote to
我使用WriteFile
写入文件。 很好 它只是一个简单的字符串:
“测试字符串,测试Windows函数”。
我正在尝试从文件中读取并与我编写的字符串进行比较,以确保其正常工作。 我有:
DWORD dwBytesRead;
char buff[128];
ReadFile(hFile, buff, 128, &dwBytesRead, NULL)
但是它对我来说是错误的。 hFile
是我在写入文件时使用的句柄。 对可能发生的事情有什么想法吗?
编辑(从评论更新):
我从GetLastError()
获取E_ACCESSDENIED
。 这是我得到hFile
:
hFile = CreateFile (TEXT(movedFileName.c_str()),
GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
hFile
仅为GENERIC_WRITE
打开。 如果要读取和写入它,则需要使用GENERIC_READ
打开它:
hFile = CreateFile (TEXT(movedFileName.c_str()),
GENERIC_WRITE | GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.