VC执行Cmd命令,并获取结果
参考:https://blog.csdn.net/VonSdite/article/details/81295056
方法一:使用popen
#include <stdio.h> #include <string.h> // 描述:execmd函数执行命令,并将结果存储到result字符串数组中 // 参数:cmd表示要执行的命令, result是执行的结果存储的字符串数组 // 函数执行成功返回1,失败返回0 #pragma warning(disable:4996) 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(void) { char SystemInstallDate[] = "c:\\windows\\system32\\systeminfo|findstr 初始安装日期"; char PCserialnumber[] = "wmic bios get serialnumber"; char MACAddress[] = "ipconfig /all|findstr 物理地址"; char IPAddress[] = "ipconfig /all|findstr IPv4"; char MACIPAddress[] = "wmic nicconfig get IPAddress,MACAddress"; char HDserial[] = "wmic diskdrive get Caption,SerialNumber"; char res[1024] = { 0 }; execmd("wmic diskdrive get SerialNumber", res); }