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() 函数,请包含 <string.h> 头文件)
- 现在将存储命令的字符串传递给 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
这里我们给 system 函数输入了 "dir" 命令,因此它将返回计算机中所有目录作为输出。
可以使用以下方法检查操作系统中是否存在命令处理器 −
这可以通过将 空指针 传递给 system() 函数来完成。如果系统返回非零值,则表示命令处理器可用。
否则,如果系统返回零,则表示命令处理器不存在,并且无法调用 system() 函数。
示例
#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; }
广告