使用mknod()创建目录
我需要使用mknod()
创建一个目录mknod()
在我的情况下不允许使用mkdir()
),我会从某个目录调用该程序,并引入在前一个目录中创建新目录的路径。
例如:如果我是/home/user/test/
并且内部test
有/level1/
,我想在level1
内创建目录level2
,所以我会传递参数/level1/level2/
我有以下代码,当我创建一个管道时,但当我将模式更改为S_IFDIR
,它没有做任何事情。
#include #include #include #include #include #include #include void main(int argc,char *argv[]){ int status; if ((status = mknod(argv[1], S_IFDIR,0)) == 1){ printf("error\n" ); } exit(0); }
mknod
通常用于创建设备节点(特殊目录)。
但是,有些操作系统支持使用mknod
(QNX)创建常规目录。
您是否在您正在使用的操作系统上查看mknod的手册页? 我很确定S_IFDIR
是mknod
的非便携式选项。