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.
发布评论