C fopen()和命令行参数

C fopen()和命令行参数,c,C,我正在尝试编写一个程序来读取文本文件中的第一个字符。如果我使用/a.out myfile.txt它可以正常工作,但是如果我使用/a.out则不可以,您也不应该尝试。以这种方式重定向的文件将出现在stdin上,您应该改用它(提示:选中argc)。如果您想使用指定的文件,但不使用stdin,请使用以下方法: if (argc > 1) fp = fopen(argv[1], "r"); else fp = stdin; 在您的命令中,/a.out我在理解如何使用stdin时遇

我正在尝试编写一个程序来读取文本文件中的第一个字符。如果我使用
/a.out myfile.txt
它可以正常工作,但是如果我使用
/a.out则不可以,您也不应该尝试。以这种方式重定向的文件将出现在
stdin
上,您应该改用它(提示:选中
argc
)。

如果您想使用指定的文件,但不使用stdin,请使用以下方法:

if (argc > 1)
    fp = fopen(argv[1], "r");
else
    fp = stdin;

在您的命令中,
/a.out我在理解如何使用
stdin
时遇到困难。你能举个例子吗?
if (argc > 1)
    fp = fopen(argv[1], "r");
else
    fp = stdin;