c++如何获取dos命令的返回值

2024-11-18 04:16:53
推荐回答(3个)
回答1:

直接获取system的返回值。

1、system函数:
原型:int system(const char * command);
功能:执行 dos(windows系统) 或 shell(Linux/Unix系统) 命令,参数字符串command为命令名;
说明:在windows系统中,system函数直接在控制台调用一个command命令。在Linux/Unix系统中,system函数会调用fork函数产生子进程,由子进程来执行command命令,命令执行完后随即返回原调用的进程;
头文件:stdlib.h;
返回值:命令执行成功返回0,执行失败返回-1。
2、例程:

#include
#include
int main(){
    system("del C:\\123.txt");//在控制台中,执行命令del  C:\\123.txt,删除C盘目录下的123.txt文件
    return 0;
}

回答2:

先输出到一个文件,然后从文件中读入:
system("date /t >data.txt");

或者使用popen,原理都一样:
char buffer[64] = {0};
FILE *fp = popen(command, "r");
fgets(buffer, sizeof(buffer), fp);
printf("%s", buffer);
pclose(fp);
参考网址:http://www.yc-edu.org/C__peixun/2165.html

回答3:

  示意流程如下:
return_code = system("shell command") ;
if (return_code == 1)
do something ;
else if (return_code == 2)
do something ;
else
do something ;