gpt4 book ai didi

c - 使用文件时出错

转载 作者:太空宇宙 更新时间:2023-11-04 06:25:00 25 4
gpt4 key购买 nike

我正在尝试使用 C 语言处理文件。当我通过命令行输入文件名时它可以工作,但是当我尝试在标准输入上输入文件名时它不起作用。这是我的代码:

int main()
{
FILE * input;
char fileName[100];
printf("Enter file name\n");
scanf("%c",fileName);
input=fopen(fileName,"r");
readData(input);
return 0;
}

我通过这个运行这段代码-

gcc temp.c -o exe
./exe
Enter file Name
input.txt

这给出了这个错误:

File not found or unable to read
Segmentation fault (core dumped)

但这行得通:

int main(int argc,char *argv[])
{
FILE * input;

input=fopen(argv[1],"r");
readData(input);
return 0;
}

我这样运行这段代码:

gcc temp.c -o exe
/exe input.txt

为什么第一个报错?

最佳答案

注意这一行

scanf("%c", fileName);

%c 格式字符串只接受一个单个字符。要读取整个字符串,请使用 %s 格式字符串。

关于c - 使用文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28284123/

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