【发布时间】:2020-02-08 00:46:41
【问题描述】:
我正在编写一个程序,它从作为参数传递的文件中读取,如果没有给出参数,则从标准输入读取。 代码在传递文件的情况下运行良好,但是当没有文件传递时出现段错误。 如果给出了文件,我基本上会在 argv[1] 上调用 fopen,但如果没有给出文件,我会调用:
f = fopen("stdin", "r");
这是将标准输入作为文件打开的正确语法吗?
【问题讨论】:
-
你不需要手动打开
stdin,操作系统会处理这个。所以你只需使用stdin。 -
我正在尝试使程序与 f 一起工作,无论它是 txt 文件还是标准输入,所以如果没有传递文件 arg,我必须让 f 指向标准输入。
-
我明白你的意思了我不需要手动打开stdin我可以设置f = stdin,谢谢。