孙其功陪你学之——如何将shell命令的返回值赋值给应用程序的变量
如何将shell命令的返回值赋值给应用程序的变量。
博主最近做了个路由器的项目,需要得到路由器现在网络状态和参数,使用UCI get 获得,
但是使用了system(“UCI get ****”),之后,获得的参数直接在终端打印输出了,应用程序中无法获得
返回的参数。以下是我的解决方案。
#include <stdlib.h>
#include <stdio.h>#include <string.h>
char buf[512];
char* uciget(char option[])
{
FILE *stream;
memset( buf, ‘\0‘, sizeof(buf) );
stream = popen( option, "r" );
fread( buf, sizeof(char), sizeof(buf), stream);
buf[strlen(buf)-1]= ‘\0‘;
pclose(stream);
return buf;
}
int main(void)
{
printf("%s\n",uciget("uci get network.wan.proto"));
printf("%s\n",uciget("uci get wireless.@wifi-iface[0].ssid"));
return 1;
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。