在 win32 C++ 中有没有一种方法可以复制 CD ROM 中的所有文件并将它们保存在位于其他地方的文件夹中(将指定文件夹位置)?是否有一个 win32 C++ 函数可以做到这一点?文档显示了函数 SHFileOperationA() 但这可以复制 CD ROM 中的所有文件吗?
问问题
123 次
1 回答
0
CopyFile() 希望您指定要复制的文件的名称。如果您不知道文件的名称怎么办
您可以使用FindFirstFile
并FindNextFile
与CopyFile
.
假设您的 CD ROM 驱动器是E:
,您可以尝试以下示例,看看是否有帮助。
WIN32_FIND_DATA fData;
HANDLE searchHdl = FindFirstFile(L"E:\\*", &fData);
if (INVALID_HANDLE_VALUE != searchHdl)
{
do {
std::wstring existingFileName(L"E:\\");
existingFileName.append(fData.cFileName);
std::wstring newFileName(L"D:\\");
newFileName.append(fData.cFileName);
if (CopyFile(existingFileName.c_str(), newFileName.c_str(), TRUE))
wprintf(L"CopyFile success!\n");
else
wprintf(L"CopyFile fails with error: %d\n", GetLastError());
} while (FindNextFile(searchHdl, &fData));
}
FindClose(searchHdl);
于 2021-01-07T06:38:07.223 回答