如何读取系统输出(’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文件句柄作为管道的一部分 运营商。