gpt4 book ai didi

C 读取通过管道传入的文件内容

转载 作者:行者123 更新时间:2023-11-30 14:59:05 24 4
gpt4 key购买 nike

我正在尝试对一些数据进行分析,并且正在构建一些我希望与管道链接在一起的工具。

cat 文件.dat | ./工具| ./tool2 ...

但我不知道如何读取管道输入的数据。我知道它是通过标准输入传入的,但我可以完全等待文件结束。所以我想我正在寻找这样的东西:

long value;
while(scanf("%ld\n",&value)){
value2 = do_something(value);
printf("%ld\n",value2);
}
return 0;

但是,当 stdin 为“空”时,scanf 不会返回 0,正确的方法是什么?

最佳答案

函数scanf在到达文件末尾时返回EOF。您可以使用这样的代码来检查:

while (1) {
long value;
int ret = scanf("%ld\n", &value);
if (ret == EOF) {
break;
}
printf("%ld\n", value);
}

请参阅docs了解更多详情。

关于C 读取通过管道传入的文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43020310/

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