gpt4 book ai didi

c - 使用 argc 和 argv 读取文件

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

我正在尝试(如标题所述)使用 argc 和 argv 从文件读取到 main,从命令行获取文件名并将其通过 main 传递到一个 void 函数,该函数可以打开、读取和写入它。但是我收到 Cannot open file... Segmentation fault

void file_pass (char * argv[])
{

FILE *file_name;
if ((file_name = fopen(argv[1], "r")) == NULL)
{
printf("Cannot open file ...\n");
}

fclose(file_name);

}

这让我认为它没有正确打开文件,但我不确定为什么。

最佳答案

在你的函数中 void file_pass (char * argv[]) -

if ((file_name = fopen(argv[1], "r")) == NULL)

而不是这个,你应该试试这个 -

if ((file_name = fopen(argv[0], "r")) == NULL)   // file's name is in argv[0] in funciton

因为数组索引从 0 开始并且在函数 argv[1] 中可能不包含任何内容。

关于c - 使用 argc 和 argv 读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33287356/

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