在C语言中,system()
函数用于执行一个外部命令。它的原型如下:
int system(const char *command);
system()
函数的参数传递方式是一个指向以空字符终止的字符数组的指针,即const char *
类型。这个参数可以是普通字符串、命令行参数列表或者是NULL。
当参数为NULL时,system()
函数会执行一个默认的命令,通常是/bin/sh -c
,这会在子进程中启动一个新的shell来执行该命令。
当参数为一个普通字符串时,system()
函数会尝试执行该字符串作为外部命令。如果字符串以斜杠(/
)开头,那么它将被视为一个绝对路径;否则,它将在系统的PATH环境变量中查找该命令。
当参数为一个命令行参数列表时,system()
函数会将这些参数整体传递给外部命令。例如:
system("ls -l /home/user");
这将会执行ls -l
命令,并列出/home/user
目录中的文件和子目录。