2024年1月16日发(作者:)

C语言中的暂停

方法一:

system("pause");使用它得加个头文件#include

system就是调用从程序中调用系统命令(和shell命令)。

system("pause")就是从程序里调用“pause”命令;

而“pause”这个系统命令的功能很简单,就是在命令行上输出一行类似于“Press any

key to exit”的字,等待用户按一个键,然后返回

#include

int main()

{ system("pause");//利用了DOS命令

return 0;

}

getchar();getchar 的用途是从从标准输入流读取一个字符,读回车符时退出

getchar();永远只向缓存中输入一个字符,

getchar();的用法很多;

一种就是清空回车符 这种情况一般发生在在循环中涉及到输入的情况

还有一种是某些编译平台(IDE)在运行程序时并没有在程序运行后给人看结果的时间 这时候 在程序最后加上getchar()就能造成程序的暂停 给程序员度结果的机会

用getchar时,在键盘上按一个字符后,要按回车才能读取进去;用getch时,在键盘上按一个字符马上就被读取进去,不用按回车,因此可以作为“按任意键继续”的执行语句。

方法二:

#include

int main()

{ getchar();//须按回车键结束,不是任意键

return 0;

}

方法三:

#include

int main()

{ getch();//按任意键退出

return 0;

}

方法四:

#include

int main()

{ while(!kbhit());//可以用其它的循环

return 0;

}

kbhit

开放分类:编程、函数、计算机、C语言

函数名: kbhit

功 能: 检查当前按下的键

用 法: int kbhit(void);

程序例:

#include

#include

int main(void)

{ printf("Press any key to continue:");

while (!kbhit()) ;

eprintf("rnA key ");

return 0;

}

kbhit() 在执行时,检测是否有按键按下,有按下返回键值

没有按下返回0;是非阻塞函数

getch() 在执行时,检测按下什么键,如果不按键该函数不返回;是阻塞函数

方法五:增加中断,只适用于调试

system

开放分类:电脑进程、c语言库函数

进程文件:System

进程名:System

描述:System - 系统 体制计划

系统里确实有system这个进程,但注意,它并不是,可能是木马伪装而成的,还是先查查木马吧

进程文件:

进程名称:

描述:

是netcontroller木马病毒生成的文件,出现在c:windows目录下,建议将其删除。但要系统的system进程区分开来。system进程是没有.exe的,其信息可见:/tasklist/

如果你用的是xp系统,这个进程在“任务管理器”中就结束不掉,结束掉的进程说明这个进程不能对系统造成直接危害,不过,用其它软件可能能强制结束,但这样会造成蓝屏等现象。

如果你是vista系统,结束掉之后,马上就会蓝屏。这个是系统的进程,是内存运行的!如果关掉会有可能出现两种情况!

一:蓝屏。

二:出现那个说你是非法程序的对话框。

总的来说就是系统有可能崩溃!

system:[ 'sistəm ]

windows操作系统下system () 函数详解

函数名: system

功 能: 发出一个DOS命令

用 法: int system(char *command);

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

程序例:

#include

#include

int main(void)

{

printf("About to spawn and run a DOS commandn");

system("dir");

return 0;

}

linux操作系统下system () 函数详解

(执行shell 命令)

相关函数

fork,execve,waitpid,popen

表头文件

#include

定义函数

int system(const char * string);

函数说明

system()会调用fork()产生子进程,由子进程来调用/bin/sh-c string来执行参数string字符串所代表的命令,此命>令执行完后随即返回原调用的进程。在调用system()期间SIGCHLD 信号会被暂时搁置,SIGINT和SIGQUIT 信号则会被忽略。

返回值

=-1:出现错误

=0:调用成功但是没有出现子进程

>0:成功退出的子进程的id

如果system()在调用/bin/sh时失败则返回127,其他失败原因返回-1。若参数string为空指针(NULL),则返回非零值>。如果system()调用成功则最后会返回执行shell命令后的返回值,但是此返回值也有可能为 system()调用/bin/sh失败所返回的127,因此最好能再检查errno 来确认执行成功。

附加说明

在编写具有SUID/SGID权限的程序时请勿使用system(),system()会继承环境变量,通过环境变量可能会造成系统安全的问题。

范例

#include

main()

{

system(“ls -al /etc/passwd /etc/shadow”);

}

执行结果:

-rw-r--r-- 1 root root 705 Sep 3 13 :52 /etc/passwd

-r--------- 1 root root 572 Sep 2 15 :34 /etc/shado

例2:

char tmp[];

sprintf(tmp,"/bin/mount -t vfat %s /mnt/usb",dev);

system(tmp);

其中dev是/dev/sda1.