C 中的命令行参数打印不正确

2024-02-01

我试图测试我的程序如何接收用户命令行输入:

我要测试的命令行输入是:

"./concordance 15 < input.txt"

程序的其余部分可以工作,但可以测试参数。所以在我的主要功能中我有这个:

int main(int argc, char *argv[])
{
    int i;
    for (i = 0; i < argc; i++)
    {
        printf("%s\n", argv[i]);          //runs through command line for arg
    }
    printf("%d\n", argc);                 //prints total arguments
    return 0;
}

问题是当我输入命令行时,程序打印:

./concordance
15
2

为了让我的程序正常工作,我需要打开 input.txt 文件,所以我的问题是,为什么程序只打印“./concordance”和“15”,并且如果我有“

Thanks


<不被解释为命令行参数,而是由 shell 解释为将标准输入重定向到指定文件,而不是父标准输入(通常是 shell)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C 中的命令行参数打印不正确 的相关文章

随机推荐