0

在 win32 C++ 中有没有一种方法可以复制 CD ROM 中的所有文件并将它们保存在位于其他地方的文件夹中(将指定文件夹位置)?是否有一个 win32 C++ 函数可以做到这一点?文档显示了函数 SHFileOperationA() 但这可以复制 CD ROM 中的所有文件吗?

4

1 回答 1

0

CopyFile() 希望您指定要复制的文件的名称。如果您不知道文件的名称怎么办

您可以使用FindFirstFileFindNextFileCopyFile.

假设您的 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 回答