Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Can';i don’我不能从我刚刚写入的文件中读取ReadFile_C++_Windows - Fatal编程技术网

C++ Can';i don’我不能从我刚刚写入的文件中读取ReadFile

C++ Can';i don’我不能从我刚刚写入的文件中读取ReadFile,c++,windows,C++,Windows,我正在使用WriteFile写入文件。那很好。它只是一个简单的字符串: “测试字符串,测试windows函数” 我现在正试图从文件中读取并与我编写的字符串进行比较,以确保其正常工作。我有: DWORD dwBytesRead; char buff[128]; ReadFile(hFile, buff, 128, &dwBytesRead, NULL) 但这对我来说是错误的hFile是写入文件时使用的句柄。你对可能发生的事情有什么想法吗 编辑(根据评论更新): 我正在从GetLastEr

我正在使用
WriteFile
写入文件。那很好。它只是一个简单的字符串:

“测试字符串,测试windows函数”

我现在正试图从文件中读取并与我编写的字符串进行比较,以确保其正常工作。我有:

DWORD dwBytesRead;
char buff[128];
ReadFile(hFile, buff, 128, &dwBytesRead, NULL)
但这对我来说是错误的
hFile
是写入文件时使用的句柄。你对可能发生的事情有什么想法吗

编辑(根据评论更新):

我正在从
GetLastError()
获取
E\u访问被拒绝
。以下是我如何获得
hFile

hFile = CreateFile (TEXT(movedFileName.c_str()),
                    GENERIC_WRITE,
                    0,
                    NULL,
                    OPEN_EXISTING,
                    FILE_ATTRIBUTE_NORMAL,
                    NULL);

hFile
仅为
GENERIC\u WRITE
打开。如果您想从中读取和写入,则需要使用
GENERIC_READ
打开它:

hFile = CreateFile (TEXT(movedFileName.c_str()),
                    GENERIC_WRITE | GENERIC_READ,
                    0,
                    NULL,
                    OPEN_EXISTING,
                    FILE_ATTRIBUTE_NORMAL,
                    NULL);

您可以发布初始化为
hFile
的代码吗?
GetLastError()
失败后,
ReadFile()
返回什么?检查
GetLastError()
,请说明如何获取
hFile
。是否返回到文件的开头?我从GetLastError获得E_访问拒绝。(对以下内容表示歉意,我不知道如何设置这些帖子的格式)以下是我如何获得hFile:hFile=CreateFile(TEXT(movedFileName.c_str()),GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);编辑-是的,找到了。为我这样发布回复而干杯。泛型写应该是泛型写,泛型读。干杯。不过,我在这方面遇到了进一步的问题。buff充满了正义感。我以前从未遇到过LPVOID,所以我不知道它是不是有什么东西。基本上我有上面的字符串,我想通过一个buff来测试字符串和我从文件中读取的内容是否相同。有什么方法可以做到这一点吗?在您的示例中,您是否将buff[]指定为未初始化的,请看一看@user1100102,我想问另一个问题。它将得到更多的关注,更容易回应,试图在评论中解决它。