2010-02-13 42 views
4

如何用C代码创建一个目录(除了分叉和使用mkdir的方法)?有什么像dirent.h? dirent.h只允许读取目录。 (不使用外部库)在C或C++中创建一个目录

+0

你想C或C++? – Naveen 2010-02-13 08:16:21

+0

我想知道C和C++ – avd 2010-02-13 08:16:56

回答

6

使用mkdir function

#include <sys/stat.h> 
#include <sys/types.h> 
int mkdir(const char *pathname, mode_t mode); 
+0

请解释模式参数 – avd 2010-02-13 08:16:31

+6

@lex:你为什么不尝试自己做一些研究? – dreamlax 2010-02-13 08:24:12

+1

@lex请阅读链接手册页。 – 2010-02-13 18:30:21

5

如果您可以使用C++(如所选标签所示)和boost库,Boost文件系统可以帮助您使用create_directory函数。

如果您不想让项目中的所有boost库可用,那么您可以下载一个名为bcp的工具来仅提取所需的子集,在您的情况下boost文件系统及其依赖关系。

+0

对mkdir函数使用boost有任何优势吗? – avd 2010-02-13 08:18:46

+1

Boost是纯粹的C++,这意味着您不必将字符串转换为char *。 Boost文件系统允许您使用“路径”对象,如果您使用许多相关的目录,则这些对象很容易使用。有更多的理由使用它,但我还没有深入挖掘它。 – 2010-02-13 08:32:06

+2

Boost也是跨平台的。 – 2010-02-13 08:33:50