繁体   English   中英

无法让ReadFile从我刚刚写入的文件中读取

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM