C/C++中的system()函数
给定的任务是展示C/C++中system()函数的工作过程。
system()函数是C/C++标准库的一部分。它用于传递可以在命令处理器或操作系统终端中执行的命令,并在命令完成后返回该命令。
调用此函数需要包含<stdlib.h>
或<cstdlib>
。
语法
语法如下-
int system(char command)
如果命令执行没有任何错误,该函数将返回零。
示例
Input: system(“date”)
Output: The current date is: Fri 12/27/2019
解释 - 以下示例展示了如何使用system函数显示当前日期。输出显示在操作系统的命令处理器中。这显示了我们可以使用system()函数来执行终端命令或在命令处理器中使用的命令。
示例
Input: system(“color a”)
Output:
下面的示例演示了如何使用system()函数,只需将包含要执行的命令的字符串传递给它即可。这里我们给出了color a
命令,用于更改命令处理器中文本的颜色,而且它可以正常工作。
下面程序中使用的方法如下 −
- 首先创建一个char类型的变量,并给它一个适当的大小,比如cmd[10],以便该字符串可以用于存储命令。
- 然后使用strcpy()函数将所需的命令存储到之前创建的字符串中。(为了使用strcpy()函数,请包含头文件)
- 现在将存储命令的字符串传递到system函数中。
算法
Start
Step 1-> In function main()
Declare a char cmd[10]
Call function strcpy(cmd, “dir”)
Call function system(cmd)
Stop
示例
#include <iostream>
#include<stdlib.h>
#include<string.h>
using namespace std;
int main() {
char cmd[10];
strcpy(cmd,"dir");
system(cmd);
return0;
}
输出
如果我们运行上面的代码,将会产生以下输出−
12/25/2019 10:04 AM <DIR> .
12/25/2019 06:33 AM <DIR> ..
12/24/2019 09:56 AM <DIR> bin
12/25/2019 10:04 AM 183 main.cpp
12/25/2019 10:04 AM 1,564,278 main.exe
12/25/2019 06:33 AM 1,046 main.o
12/24/2019 06:33 AM <DIR> obj
12/24/2019 06:33 AM 1,062 Test.cbp
12/24/2019 06:36 AM 358 Test.layout
5 File<s> 1,566,927 bytes
4 Dir<s> 169,866,692,120 bytes free
在这里,我们将系统函数”dir”命令作为输入,然后它会将计算机中所有目录显示为输出。
可以使用以下方法来检查操作系统中是否可用命令处理器 −
可以通过将一个 空指针 传递给 系统() 函数来实现。如果系统返回一个非零值,则表示命令处理器可用。
否则,如果系统返回零,则表示命令处理器不存在,无法调用 系统() 函数。
示例
#include <iostream>
#include<stdlib.h>
using namespace std;
int main() {
if(system(Null))
cout<<”Command Processor is present”;
else
cout<<”Command processor is not present”;
return 0;
}