0
當腳本「check.sh」返回任何內容時,需要在我的窗口中打印某些內容時,表示沒有返回腳本輸出時的驗證。捕獲從命令行返回的空輸出,並顯示一些消息,如果其爲空
check.sh不包含任何內容。它只是一個空白的sh文件,在執行時不會返回任何內容。我正在測試一個空的sh文件(我不能顯示你確切的腳本,這是爲什麼)。
當check.sh什麼都不返回時,我想要打印的是一些消息,比如「通過C配置某些東西」。
我檢查緩衝區行(檢查下面的模塊)爲「\ n」,「\ r」,「\ 0」,NULL ..我不知道它是什麼考慮,當腳本沒有返回
我會調用模塊execute_command( 「SH check.sh」)
這裏是我的模塊
char *execute_command(char *command)
{
FILE *fpipe;
char line[1024]="";
//char *line = (char*)malloc(1024*sizeof(char));
int i =0;
if (!(fpipe = (FILE*)popen(command,"r")))
{ // If fpipe is NULL
perror("Problems with pipe");
exit(1);
}
while (fgets(line, sizeof line, fpipe))
{
// printf("%s", line);
}
while(line[i]!='\0')
{
if(line[i]==' ')
{
line[i]=',';
}
i++;
}
pclose(fpipe);
printf("%s",line); // This is where i want to know what the buffer has when the script returns nothing
return(line);
}
請改善您的問題的格式。特別是,更好地縮進你的代碼:因爲它是不可理解的。否則人們(例如我)不會幫助你。 – 2010-02-03 08:50:54
請留下關於解決方案的說明,你能解決它嗎? – spikey 2012-05-03 16:22:47