c - 从字符串生成目录结构

标签 c tree directory structure

我正在尝试从我输入到程序中的字符串生成目录树结构。字符串示例:

/users/username/documents/folder/file.txt

我想在预定的文件夹中创建上述目录结构,例如“备份”。正确完成后,生成的目录树将是:

/backup/users/username/documents/folder/file.txt

但我不想复制“文档”文件夹或“文件夹”文件夹等中的所有文件。我想要复制的唯一文件是路径末尾的单个文本文件。

我是否必须遍历字符串的索引并使用“/”将其分隔?这看起来有点乏味,我想知道是否有更快更有效的编码方式?

最佳答案

如果你想使用 POSIX 函数 mkdir(2) 你需要一个一个地创建缺失的目录。

如果你准备不那么便携 它可以通过单个 system 调用来完成。如何执行取决于您的操作系统。

在 Linux/UNIX 中,您可以使用 mkdir -p 在一次调用中创建所有丢失的目录。

在 Windows 中,您可以使用 SHCreateDirectoryEx(根据 Baldrick 的评论)。

关于c - 从字符串生成目录结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19565417/

相关文章:

linux - 如何找出目录或文件所在的挂载/分区? (Linux 服务器)

c++ - 嵌套并行 for 循环 : "Parallel outer for loop" in "parallel inner for loop as a function"

c - 为什么 ROM 字符串没有正确传递?

c - 使用中序遍历删除二叉树

c - 访问目录和文件

python - 反斜杠后跟 python 字符串中的数字

c++ - 初始化指针,c 和 c++ 编译器之间的区别 (gcc-4.3.4)

c - 使用 strcpy 时打印垃圾

java - 迭代父子树结构的最佳算法

java - 有向无环图中的路径和