【问题标题】:Reading command line arguments in C [closed]在 C 中读取命令行参数 [关闭]
【发布时间】:2019-02-07 06:43:59
【问题描述】:

我想以这种方式将文件作为参数传递:

a.exe < testfile

如何在我的 C 代码中获取 testfile

编辑

这是我的代码:

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

int main()
{
    char b[50];
    gets(b);
    puts(b);
    //stuff
    return 0;
}

我编译它,当我像这样通过 CL 运行它时

a.exe < testfile

我明白了

`

这是为什么呢?我在建议的解决方案中阅读了有关 stdin 的信息,但现在我被困在这里。

【问题讨论】:

  • 这不是命令行参数,而是通过管道传输到标准输入。您要做什么,显示您的代码并说明具体您的问题所在。

标签: c command-line cmd arguments


【解决方案1】:

重定向&lt; testfile 将用文件testfile 替换标准输入流。

只需像使用标准输入从键盘读取数据一样读取输入。

【讨论】:

    【解决方案2】:

    您将其命名为 stdin,因为这是在 shell 重定向(以及可执行文件中的 libc 初始化)之后的样子。

    【讨论】: