gpt4 book ai didi

c - 用c程序创建目录

转载 作者:行者123 更新时间:2023-11-30 15:25:18 25 4
gpt4 key购买 nike

我正在尝试创建一个 C 程序,它接受一个字符串并创建一个具有给定名称的目录。到目前为止,我已经制作了两个版本,它们包含在下面,但都没有像我想要的那样工作。但这个程序有两个问题:1.点击回车后才接受输入2.它使目录以问号结尾。

//Make Directory program

#include<stdio.h>
#include<string.h>



void main()
{
char dirname[20];
fgets(dirname, 20, stdin);
int check;
check = mkdir(dirname);
printf("This is the chosen directory name: ");
printf(dirname);

if (!check)
printf("Directory created\n");

else
{
printf("Unable to create directory\n");
//exit(1);
}

return;

}

我也尝试过这个版本。但每当我尝试运行它时,它就会出现段错误。我已经尝试过输入。“目录”和目录

//Make Directory program

#include<stdio.h>
#include<string.h>
void main( char dirname[20])
{
int check;
checker = mkdir(dirname);

if (!checker)
printf("Directory created\n");

else
{
printf("Unable to make directory\n");
}
return;
}

任何帮助将不胜感激

<小时/>

编辑:这是根据以下建议编辑的新代码

当我输入时:$makedir目录

它创建一个名为:?????

非常感谢您迄今为止的帮助。

//Make Directory program

#include<stdio.h>
#include<string.h>



void main(int argc, char *argv[])
{
// char dirname[20];
// fgets(dirname, 20, stdin);
int check;
check = mkdir(argv, '.');
//mkdir(argv, '.');

if (!check)
printf("Directory created\n");

else
{
printf("Unable to create directory\n");
//exit(1);
}

return;

}

最佳答案

mkdir 采用 const char * 作为参数,而不是指针数组。

int mkdir(const char *pathname, mode_t mode);

如手册页中所述

http://man7.org/linux/man-pages/man2/mkdir.2.html

尝试:

  int check;
//the index of your parameter
check = mkdir(argv[1], 0755);
//mkdir(argv, '.');

关于c - 用c程序创建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27993310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com