【发布时间】:2023-03-19 17:56:01
【问题描述】:
我正在尝试从我输入到程序中的字符串生成目录树结构。字符串示例:
/users/username/documents/folder/file.txt
我想在预定文件夹中创建上述目录结构,例如“备份”。正确完成后,生成的目录树将是:
/backup/users/username/documents/folder/file.txt
但我不想复制“文档”文件夹或“文件夹”文件夹等中的所有文件。我想要复制的唯一文件是路径末尾的单个文本文件。
我是否必须遍历字符串的索引并使用“/”分隔它?这似乎有点乏味,我想知道是否有更快更有效的编码方式?
【问题讨论】:
-
您使用的是哪个操作系统?
-
这取决于您必须使用什么系统调用来创建目录。如果这是 UNIX 或 Linux,您将为树中的每个目录调用 mkdir()。从示例字符串中不存在的任何目录开始。如果 /backup 已经存在,请从 /backup/users 开始。
-
在Windows下,使用SHCreateDirectoryEx windows函数。它一次性创建路径的所有缺失部分。
-
我在 MAC OS X 上使用 gcc 编译器
标签: c tree directory structure