文件分類 [總覽]
社群資訊
[嵌入式Linux實作問題] fgets
(阿安, coolansean@yahoo.com.tw, 2012-02-24 16:26)
1樓
以下是我寫的一段程式,但系統跑到這會顯示Unexpected close,不知哪裡出了問題
fp = popen("iwlist ra0 scan |sed 's/ //g'","r");
while(fgets(test,sizeof(test),fp) != NULL)
{
if((cnt = strstr(test,"key:on")) != NULL)
{
ptr[counter].AuthMode = WiFi_AuthMode_OPEN;
ptr[counter].EncrypType = WiFi_EncrypType_WEP;
counter++;
}
else if((cnt = strstr(test,"key:off")) != NULL)
{
ptr[counter].AuthMode = WiFi_AuthMode_OPEN;
ptr[counter].EncrypType = WiFi_EncrypType_NONE;
counter++;
}
}
pclose(fp);
(joseph, 2012-02-24 18:52)
2樓
這個程式 'iwlist ra0 scan |sed 's/ //g' 也許導致關了pipe.
你可以先用strace 去debug , 就知道問題在那了
或用 pipe(2) 自己控制 pipe 開關