gpt4 book ai didi

c - fopen() 和命令行参数

转载 作者:行者123 更新时间:2023-12-02 05:50:52 36 4
gpt4 key购买 nike

我正在尝试编写一个程序来读取文本文件中的第一个字符。如果我使用 ./a.out myfile.txt它按预期工作,但如果我使用 ./a.out <myfile.txt我得到 Segmentation fault: 11 .我试图包含 < 的原因是因为这是作业规范中的内容。下面的代码只是我制作的一个具有相同问题的简化示例:

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


int func(int argc, char **argv){
FILE *fp;
int test = 0;
fp = fopen(argv[1], "r");
fscanf(fp, "%i", &test);
printf( "current file: %s \n", argv[1]);


}


int main(int argc, char **argv){
func(argc, argv);
}

有什么办法可以让它接受参数为 <myfile.txt ?

最佳答案

不,你也不应该尝试。以这种方式重定向的文件将出现在 stdin你应该使用它(提示:检查 argc )。

关于c - fopen() 和命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16620083/

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