popen的使用
Posted alen_xie
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了popen的使用相关的知识,希望对你有一定的参考价值。
今天看到一段写的不错的代码,整理了一下,提供学习一下:
int MatchingString(char *acStr, char *acDes, int iDesLeng)
FILE *stream = popen(acStr, "r");
if (NULL == stream)
printf("failed to popen ifconfig!!\\n");
return 0;
memset( acDes, '\\0', iDesLeng);
fread( acDes, sizeof(char), iDesLeng, stream);
pclose(stream);
return 1;
MatchingString("ifconfig | grep HWaddr", buf, sizeof(buf));
char local_mac[1024];
memset( local_mac, '\\0', 1024 );
char *pMacAddr = strstr(buf, "HWaddr");
if(pMacAddr==NULL)
printf("HWaddr is empty , please check your system's language !\\n");
return 0;
sscanf(pMacAddr+6, "%s", local_mac);
MatchingString("dmidecode | grep UUID", buf, sizeof(buf));
char local_uuid[1024];
memset( local_uuid, '\\0', 1024 );
sscanf(buf, "%*[^ ]%s", local_uuid);
以上是关于popen的使用的主要内容,如果未能解决你的问题,请参考以下文章
如何使用子进程 Popen.communicate() 方法?