簡體   English   中英

錯誤:“:”令牌之前的預期“)”

[英]error: expected ‘)’ before ‘:’ token

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;
}

我不知道為什么會收到此錯誤,請有人幫我。

查看您在此行上使用打開/關閉雙引號的方式:

    snprintf(buff2, 1024, "ifconfig eth0 | grep HWaddr | awk '{for(i=0;i<5;i++) sub(":","-",$5); print $5}'");

您正在:前面的雙引號附近。 嘗試使用\\“來轉義字符串中的雙引號。

嘗試在字符串中轉義引號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM