我的应用程序出现了这个奇怪的错误,它应该将文件从命令行给出的目录复制到另一个目录。
我当然使用了三个API函数; CreateFile,ReadFile和WriteFile。我无法使用CopyFile API。
请注意,编译器不会报告任何错误或任何警告。
hFile1 = CreateFile(argv[1], GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_BACKUP_SEMANTICS, NULL);
hSearch = FindFirstFile((L"*.*"), &hFind);
if (hSearch == INVALID_HANDLE_VALUE) { _tprintf(L"No files found.\n"); }
do
{
if (ReadFile(hFile1, Buffer, BUFSIZE, &BytesRead, NULL))
{
cFile = WriteFile(hFile2, Buffer, BytesRead, &BytesWritten, NULL);
if (!cFile)
{
_tprintf(L"Couldn't copy file.\n");
}
}
} while (BUFSIZE == BytesRead);