首页技术system函数,c语言中system的用法

system函数,c语言中system的用法

编程之家2026-05-30648次浏览

各位老铁们好,相信很多人对system函数都不是特别的了解,因此呢,今天就来为大家分享下关于system函数以及c语言中system的用法的问题知识,还望可以帮助大家,解决大家的一些困惑,下面一起来看看吧!

system函数,c语言中system的用法

C语言的system函数

system(系统)函数

windows操作系统下system()函数详解(主要是在C语言中的应用)

功能:发出一个DOS命令

用法: int system(char*command);

system函数已经被收录在标准c库中,可以直接调用

程序例:

system函数,c语言中system的用法

#include<stdlib.h>

#include<stdio.h>

int main(void)

{

printf("About to spawn and run a DOS command\n");

system("dir");

system函数,c语言中system的用法

return 0;

}

又如:system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏操作。而调用color函数可以改变控制台的前景色和背景,具体参数在下面说明。

例如,用 system("color 0A");其中color后面的0是背景色代号,A是前景色代号。各颜色代码如下:

0=黑色 1=蓝色 2=绿色 3=湖蓝色 4=红色 5=紫色 6=黄色 7=白色 8=灰色 9=淡蓝色 A=淡绿色 B=淡浅绿色 C=淡红色 D=淡紫色 E=淡黄色 F=亮白色

(注意:Microsoft Visual C++6.0支持system)

举例

看了下面实例,相信你会对学到更多system在C程序设计中的应用。

例一:

C语言调用DOS命令实现定时关机:

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

int print()

{

printf("╪╪╪╪╪╪╧╧╧╧╧╧╧╧╪╪╪╪╪╪\n");

printf("╔═══╧╧C语言关机程序╧╧═══╗\n");

printf("║※1.实现10分钟内的定时关闭计算机║\n");

printf("║※2.立即关闭计算机║\n");

printf("║※3.注销计算机║\n");

printf("║※0.退出系统║\n");

printf("╚═══════════════════╝\n");

return 0;

}

void main()

{

system("title C语言关机程序");//设置cmd窗口标题

system("mode con cols=48 lines=25");//窗口宽度高度

system("color 0B");

system("date/T");

system("TIME/T");

char cmd[20]="shutdown-s-t";

char t[5]="0";

print();

int c;

scanf("%d",&c);

getchar();

switch(c)

{

case 1:printf("您想在多少秒后自动关闭计算机?(0~600)\n");scanf("%s",t);system(strcat(cmd,t));break;

case 2:system("shutdown-p");break;

case 3:system("shutdown-l");break;

case 0:break;

default:printf("Error!\n");

}

system("pause");

exit(0);

}

例二:

用C语言删除文件,例如文件的位置是d:\123.txt

用system()函数执行windows命令。

#include<stdlib.h>

#include<stdio.h>

int main(void)

{

system("del d:\\123.txt");

return 0;

}

Linux system 函数

最近工作中在 Linux下,某些指定的程序需要调用指定的 shell脚本完成指定工作,以前也曾经做过类似的功能,调用 system函数执行指定的脚本,以前并不关心 shell脚本是否执行成功了,现在的功能需要根据 shell脚本执行成功与否,于是查询了下 system函数的说明,有此文以做笔记之用。

功能:调用/bin/sh-c执行指定的脚本 command

常规使用方法:

关于返回值:

答案是都错

man手册

看着挺晕的,但是如果对于 system的执行过程了解的话,就很容易理解了,函数执行分为以下几个阶段。

阶段1:创建子进程等准备工作。如果失败,返回-1

阶段2:调用/bin/sh拉起脚本,如果拉起失败或者shell未正常执行,原因值被写入ret中

阶段3:如果 shell脚本执行成功, shell脚本的返回值写入ret中

从上面可知,不管 shell脚本返回什么值,只要调用了/bin/sh,并且执行过程没有被信号中断,都算正常结束。因为脚本是在子进程中执行的,所以要想获取脚本是否执行成功的方法只能用系统提供的两个宏。

由于我们一般在 shell中会通过返回值判断脚本是否执行成功,成功返回0,成功返回整数。所以判断一个脚本是否执行成功,应该满足三个条件:

注意:当 shell脚本不存在时、没有执行条件等,前两个条件也会成立,此时WEXITSTATUS(ret)为127,所以shell脚本中不能将127作为返回值,shell脚本中的异常返回值最好从1开始递增,成功返回0。

system用起来,看则简单,实则不那么简单,有很多隐藏的坑,需要自己深入理解原理,才能更好地使用,也可以用其他实现方式完成相同的功能。

最后对自己说,多写,多思,多总结

system(pause);有什么作用

从程序中发起系统命令行调用,执行命令:pause。

作用和效果就是dos下的pause。

system("PAUSE");和system("pause");作用和效果一样,因为dos命令是不区分大小写的。

system("PAUSE")是暂停的意思,等待用户信号;不然控制台程序会一闪即过,你来不及看到执行结果。

扩展资料:

system是C函数库stdlib.h、process.h中的一个函数。具体解释如下:

int system(char*command):将MSDOS命令command传递给DOS执行。

而pause是DOS下的一个命令。功能是:暂停批处理的执行,显示一个中文信息:“请按任意键继续...”,或者英文信息:“Press any key to continue...”

简单的说:就是暂停程序的执行,等待任意健继续执行。

OK,关于system函数和c语言中system的用法的内容到此结束了,希望对大家有所帮助。

鬼剑士转什么好,鬼剑士装备搭配疲劳蓄电池,低温蓄电池