gpt4 book ai didi

c 程序不接受解析的输入

转载 作者:行者123 更新时间:2023-11-30 18:22:27 24 4
gpt4 key购买 nike

嗨,我有一个 C 程序,它接受两个数字并将它们相加。很简单,只是在这里学习c。但是我有一个包含两列的 csv 文件,我已使用 bash 脚本对其进行了解析,并将其通过管道传输到 c 程序中不会产生结果。例如,如果我手动输入:

$ ./adder 1 2
$ 3

然后我的 bash 程序解析如下

$ ./parser test.csv 
$ 1 2

目前 csv 文件中只有一行。即 c 文件的输入与之前完全相同

然后做:

$ ./parser | ./ adder
$

我没有得到任何结果。

这是怎么回事?

最佳答案

使用 $ ./adder 1 2 您可以将 1 2 作为命令行参数传递给程序,这些参数可在 argv[] 中找到>.

但是使用 $ ./parser | ./adder parser 的输出作为输入传递给 adder,即如果 adder 尝试从标准输入读取 - stdin (使用诸如 scanfgets 等函数),它将获取它作为输入。

如果您的程序不从标准输入读取,它将无法获取这些内容。

如果你想让它工作,在 Linux 上使用 xargs 作为

 $ ./parser | xargs ./adder

关于c 程序不接受解析的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21261828/

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