转自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。