【发布时间】:2019-06-27 03:51:27
【问题描述】:
我想用 C++ 编写一个程序,它将一个文件夹中的所有文件复制并粘贴到另一个文件夹中。目前,我只管理一个文件。
#include <iostream>
#include <windows.h>
using namespace std;
int main (int argc, char *argv[])
{
CopyFile ("C:\\Program Files (x86)\\WinRAR\\Rar.txt","C:\\Users\\mypc\\Desktop\\don't touch\\project\\prova", TRUE);
【问题讨论】:
-
CopyFile()只复制一个文件。要复制多个文件,您需要遍历所有文件,并为每个文件调用CopyFile()。查找函数FindFirstFile()和FindNextFile()以获取实现该循环的选项,如果您需要复制文件属性(例如保护),请查找GetFileAttributes()和SetFileAttributes()。请记住,目录包含目录 - 要复制目录,有必要循环遍历目录中的所有文件 - 递归。 -
或者,例如
SHFileOperation(),则不需要循环,可以使用通配符。 -
查看
std::filesystem::copy,它应该适用于任何系统,而不仅仅是 Windows。
标签: c++ windows directory dev-c++ file-copying