gpt4 book ai didi

c++ - c或c++中是否有类似subprocess.getoutput()的函数或方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:42:05 26 4
gpt4 key购买 nike

python :

print("Active Device:"+subprocess.getoutput("ip link|grep \"state UP\"|cut -d : -f 2|cut -d \' \' -f2"))

我可以通过这样做在 c 中得到类似 That⬆ 的输出吗?:C:

printf("Active Device:%s",getsystemoutput("ip link|grep \"state UP\"|cut -d : -f 2|cut -d \' \' -f2"));

最佳答案

getsystemoutput() 函数可能如下所示:

char *getsystemoutput( char *cmd )
{
static char output[1024];

FILE *fp;

if( (fp = popen( cmd, "r" )) == NULL )
return "";

if( fgets( outout, sizeof output, fp ) == NULL )
strcpy( output, "" );

pclose( fp );
return output;
}

此版本在出现错误时返回一个空字符串,并使用静态缓冲区进行输出,这使得它易于在 printf() 中使用,但对于一般用途,我建议返回 NULL错误并传递 output + 它的大小作为参数。您可能还想检查 pclose() 的结果以确定所调用命令的退出状态。请注意,如果没有循环,它只会返回第一行输出。

关于c++ - c或c++中是否有类似subprocess.getoutput()的函数或方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47909072/

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