我编写了一个程序,从一个文件中读取文本并将其复制到一个新文件中。使用won循环和ReadFile/Writefile函数,除非强制停止,否则我的程序works...but我的程序不会停止运行。我猜我没有正确地关闭我的句柄,或者我的while循环可能设置错误。一旦强制停止我的程序,该文件将被成功地复制到具有新名称的新位置。
int n = 0;
while(n=ReadFile(hFileSource, buffer, 23, &dwBytesRead, NULL)){
WriteFile(hFileNew, buffer, dwBytesRead, &dwBytesWritten, NULL);
}
CloseHandle(hFileSource);
CloseHandle(hFileNew);
return 0;
发布于 2013-09-26 00:46:04
你没有正确地测试文件的结尾。ReadFile
不返回EOF的failure,它返回成功,但读取的字节数为0。要正确检查EOF:
while (ReadFile(hFileSource, buffer, 23, &dwBytesRead, NULL))
{
if (dwBytesRead == 0)
break;
// write data etc
}
你一次只读/写23个字节有什么原因吗?这将是相当低效的。
https://stackoverflow.com/questions/19017457
复制相似问题