轉自http://blog.csdn.net/hxh129/article/details/8000205
C語言使用cmd命令並獲取輸出方法
在實踐中,我們有時候需要用C語言來調用cmd的命令,並得到執行的結果,這里給出一個簡單的例子。
#include <stdio.h>
// 描述:execmd函數執行命令,並將結果存儲到result字符串數組中
// 參數:cmd表示要執行的命令
// result是執行的結果存儲的字符串數組
// 函數執行成功返回1,失敗返回0
int execmd(char* cmd,char* result) {
char buffer[128]; //定義緩沖區
FILE* pipe = _popen(cmd, "r"); //打開管道,並執行命令
if (!pipe)
return 0; //返回0表示運行失敗
while(!feof(pipe)) {
if(fgets(buffer, 128, pipe)){ //將管道輸出到result中
strcat(result,buffer);
}
}
_pclose(pipe); //關閉管道
return 1; //返回1表示運行成功
}
int main(){
char result[1024*4]=""; //定義存放結果的字符串數組
if(1==execmd("ipconfig",result)){
printf(result);
}
system("pause"); //暫停以查看結果
}
另外,微軟的MSDN文檔中有更多詳細的說明,有興趣的朋友可以看看:http://msdn.microsoft.com/en-us/library/96ayss4b(v=vs.80).aspx。