如何读取系统输出(’ls’)?
我正在用c代码做一些文件IO。 我的文件中有一个特定的模式。 我可以通过shell命令cat abc.txt | grep abc | wc -l
来validation这一点 cat abc.txt | grep abc | wc -l
cat abc.txt | grep abc | wc -l
。 当我使用System()
执行相同的命令时,它给出了正确的输出,但我不知道如何将其输出变为变量并将其与我的c代码本身进行比较。
我试着查看建议使用WEXITSTATUS()
手册页。 这实际上返回执行状态而不是输出。
F1 !!
你不需要system(3)
。 尝试popen(3)
和朋友。
grep和wc正在做的是读取STDIN文件句柄作为管道的一部分 运营商。