int main (int argc, char *argv[])
{
FILE *in;
extern FILE *popen();
char buff[512];
char buff2[1024];
snprintf(buff2, 1024, "ifconfig eth0 | grep HWaddr | awk '{for(i=0;i<5;i++) sub(":","-",$5); print $5}'");
if(!(in = popen(buff2, "r")))
{
exit(1);
}
while(fgets(buff, sizeof(buff), in)!=NULL){
printf("%s", buff);
}
pclose(in);
return 0;
}
我不知道为什么我会收到此错误,有人可以帮助我。
答案 0 :(得分:4)
看看你在这一行上使用开/关双引号:
snprintf(buff2, 1024, "ifconfig eth0 | grep HWaddr | awk '{for(i=0;i<5;i++) sub(":","-",$5); print $5}'");
您正在关闭之前的双引号:。尝试使用\&#34;。
转义字符串中的双引号答案 1 :(得分:0)
尝试在字符串中转义引号。