C 库 - system() 函数



C 的stdlibsystem() 函数用于从 c/c++ 程序执行由字符串 'command' 指定的操作系统命令。它返回一个整数状态,指示命令执行的成功或失败。

此函数依赖于操作系统。我们在 Windows 上使用 'system("dir")',在 Unix 上使用 'system("ls")' 来列出目录内容。

注意:此函数列出在我们的系统上编译时当前目录的文件。如果使用在线编译器编译,它只会显示 'main main.c'。

语法

以下是 system() 函数的语法:

int system(const char *string)

参数

此函数接受一个参数:

  • string - 它表示指向空终止字符串的指针,其中包含我们要执行的命令。

返回值

如果命令成功执行,则此函数返回 0。否则,它返回非零值。

示例 1

在此示例中,我们创建一个基本的 c 程序来演示 system() 函数的使用。

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main() {
   char command[50];
   
   // Set the command to "dir" (list files and directories)
   strcpy(command, "dir");
   
   //use the system fucntion to execute the command.
   system(command); 
   return 0;
}

输出

以下是输出,显示当前目录的列表:

05/10/2024  05:26 PM    <DIR>          .
05/10/2024  03:01 PM    <DIR>         ..
05/09/2024  01:57 PM               238 abort.c
05/09/2024  01:57 PM           131,176 abort.exe
05/09/2024  02:10 PM               412 abort2.c
05/09/2024  02:13 PM           131,175 abort2.exe
05/09/2024  02:23 PM               354 abort3.c
05/09/2024  02:23 PM           131,861 abort3.exe
05/09/2024  04:56 PM               399 atexit1.c
05/09/2024  04:56 PM           132,057 atexit1.exe
05/09/2024  05:30 PM               603 atexit2.c
05/09/2024  05:09 PM           132,078 atexit2.exe
05/09/2024  05:35 PM               612 atexit3.c
05/09/2024  05:35 PM           132,235 atexit3.exe
05/07/2024  11:01 AM               182 atof.cpp
05/07/2024  11:01 AM           131,175 atof.exe
.
.
.

示例 2

让我们创建另一个 c 程序并使用 system() 函数运行外部命令(echo 命令)。

#include <stdio.h>
#include <string.h>

int main() {
   char command[50];
   // Set the command to print a message
   strcpy(command, "echo Hello, World!");
   // Execute the command
   system(command); 
   return 0;
}

输出

以下是输出:

Hello, World!
广告