【问题标题】:Is there a way in C to copy all the files of a directory to another directory?C中有没有办法将一个目录的所有文件复制到另一个目录?
【发布时间】:2025-12-15 13:45:01
【问题描述】:

我希望不要诉诸于每个文件的读写。没有其他方法可以更短更容易吗? 我希望在 linux 机器上执行此操作。

【问题讨论】:

  • 嗯...system("cp path/to/source/* path/to/destin/");
  • C 语言没有简单的方法,您需要自己编写代码或使用system 函数,它让您基本上可以在shell 中做任何事情
  • 为什么需要这样做?为什么需要在 C 程序中执行此操作?您试图解决的实际和潜在问题是什么?请直接询问。
  • 用 C 语言编写复制文件的代码并不是特别困难,用 C 语言编写迭代目录的代码也不是特别困难。如果你组织得好,你可能只需要在你的工作生活中编写一次这段代码(对于 C 语言)。为什么不直接做呢?

标签: c file copy


【解决方案1】:

使用system()

system() 用于从 C/C++ 调用操作系统命令 程序。

在窗户上:

#include <stdlib.h>

int main()
{
    return system("copy .\\CopyFrom\\*  .\\CopyTo");
}

编译并运行。瞧!


在 linux 上你会做类似的事情

return system("cp ./CopyFrom/*  ./CopyTo");

【讨论】:

  • 虽然我确信这会正常工作,但它确实依赖于它们是可用的 shell 或命令行处理器。但我认为更大的问题是在复制过程中获得反馈,如果你不是在编写控制台程序的话。
最近更新 更多