Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在c中使用mkdir创建文件夹?_C_Mkdir - Fatal编程技术网

如何在c中使用mkdir创建文件夹?

如何在c中使用mkdir创建文件夹?,c,mkdir,C,Mkdir,我正在尝试使用C中的mkdir创建一个文件夹,但它不起作用 代码不会创建文件夹 #include <sys/stat.h> #include <sys/types.h> #include <stdio.h> #include <string.h> int main (){ char chemin[256]; char name[20]; //char fichier[100];

我正在尝试使用C中的mkdir创建一个文件夹,但它不起作用

代码不会创建文件夹

#include <sys/stat.h>
#include <sys/types.h>
#include <stdio.h>
#include <string.h>

int main (){
    char chemin[256];
    char name[20];
    //char fichier[100];                                                        
//  FILE *fp;                                                                   
    strcpy(chemin,"/home/Deva/Documents/prog/C/la/sds");

    mkdir(chemin,0755);
    if (mkdir(chemin,0755)==-1){
        printf("\nERROR\n");
    } else { printf("fichier creer"); }
}
#包括
#包括
#包括
#包括
int main(){
char-chemin[256];
字符名[20];
//char-fichier[100];
//文件*fp;
strcpy(chemin,“/home/Deva/Documents/prog/C/la/sds”);
mkdir(chemin,0755);
if(mkdir(chemin,0755)=-1){
printf(“\n错误\n”);
}else{printf(“fichier-creer”);}
}

您必须首先创建中间目录:例如,您必须在创建/home/Deva/Documents之前创建/home/Deva,等等。

您传递的是路径,而不仅仅是目录名。 所以请检查下面的帖子会有所帮助

两件事:

1) 您需要首先创建中间目录

2) 不能创建两次目录,请在此处执行以下操作:

mkdir(chemin,0755);
if (mkdir(chemin,0755)==-1){

可能重复您实际调用“mkdir”函数两次。运行代码后,是否查看目录是否在那里?它可能第二次失败,因为它已经存在。如果这不是问题所在,请查看“perror”,它可以为您提供有关所遇到错误的更多信息。是的,
If(chemin,0755){…}
就可以了perfectly@JennyT-你说什么?不管发生什么情况,这都会返回true。@oops,我的意思是
如果(mkdir(chemin,0755)=-1){…}
我本该复制/粘贴的时候没有复制/粘贴。我应该删除第一次尝试吗?我不想传播错误的信息,