gpt4 book ai didi

c++ - 将 Linux system() 调用命令的输出重定向到一个变量

转载 作者:太空宇宙 更新时间:2023-11-04 10:09:05 25 4
gpt4 key购买 nike

我必须在我的 C++ 代码中运行系统命令:

int val = system( "pacmd list-sink-inputs | grep -c 'state: RUNNING'");

命令将结果返回给 val 这是可取的,而且 val 或调用的返回(我似乎无法弄清楚是哪个)被写入 stdout 并在终端上打印。

有没有办法将调用重定向到 NOT 写入 stdout 或除 val 以外的任何地方?

最佳答案

重击 Pipelines会有帮助。

If |& is used, the standard error of command is connected to command2’s standard input through the pipe; it is shorthand for 2>&1 |.

因此你可以使用下面的命令

int val = system( "pacmd list-sink-inputs &| grep -c 'state: RUNNING'");

int val = system( "pacmd list-sink-inputs 2>&1| grep -c 'state: RUNNING'");

关于c++ - 将 Linux system() 调用命令的输出重定向到一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50183701/

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