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;
}

更新于:2023年9月6日

36K+ 次浏览

开启您的职业生涯

完成课程获得认证

开始学习
广告