首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正在使用mknod()创建目录

正在使用mknod()创建目录
EN

Stack Overflow用户
提问于 2014-11-08 07:17:32
回答 1查看 1.3K关注 0票数 2

我需要使用mknod()创建一个目录(在我的例子中不允许使用mkdir() ),我会从某个目录调用程序,并引入在前一个目录中创建新目录的路径。

例如:如果我是/home/user/test/,并且在test中有/level1/,我想在level1中创建目录level2,所以我会传递参数/level1/level2/

我有以下代码,它可以在创建管道时工作,但是当我将模式更改为S_IFDIR时,它什么也不做。

代码语言:javascript
复制
 #include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>

void main(int argc,char *argv[]){
    int status;
    if ((status  = mknod(argv[1], S_IFDIR,0)) == 1){
        printf("error\n" );
    }
    exit(0);

}
EN

回答 1

Stack Overflow用户

发布于 2014-11-10 08:45:00

mknod通常用于创建设备节点(特殊目录)。

然而,一些操作系统确实支持使用mknod创建常规目录。

在您使用的操作系统上,您是否查看了mknod的手册页?我非常确定对于mknod来说,S_IFDIR是一个不可移植的选项。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26811662

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档