C語言執行命令並獲取返回值


工作原理:popen先執行fork,然后調用exec執行cmdstring,並返回一個標准的I/O文件指針。

頭文件:#include<stdio.h>

原型:FILE *popen(const char *cmdstring, const char *type)

cmdstring:包含shell命令字符串

type:為”r”時,則文件指針連接到cmdstring的標准輸出,也就是代表指向執行shell命令返回的消息,也可以認為鏈接到stdout

           為”w”時,則文件指針連接到cmdstring的標准輸入,也可以認為鏈接到stdin

            int pclose(FILE *fp);

                      fp:為ponen返回的文件指針

返回值:成功返回cmdstring的終止狀態;出錯返回-1

下面是執行通過popen函數執行shell命令ls的代碼

#include <stdio.h>
int main ()
{
    char c[100];
    FILE *fp;
    fp=popen("systeminfo","r");

    while (fgets(c, sizeof(c), fp) != NULL)
    {
        printf("%s",c);
        // puts(c);
        // fputs(c,fp);
    }
    pclose(fp); 
   return(0);
}
 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM