控制台程序暂停

来源:互联网 发布:同声翻译器软件 编辑:程序博客网 时间:2024/05/16 06:56
Console(控制台)程序暂停查看结果方法
 
1.Visual Studio 2008 中使用Ctrl+F5运行程序,而不是F5调试运行程序

2.在main函数的return 0;语句之前调用获取输入的函数
C:  getchar();<stdio.h>//回车回显

_getch(); <conio.h> //不回显 getch()
_getche(); <conio.h>//直接回显 getche 

C++: cin.get();等
注意:若之前有调用输入函数而遗留的换行符,则需要getchar();getchar();
第一次用于处理上次产生的换行符,第二次暂停程序



#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void)
{
    int num;
    scanf("%d",&num);//输入完成后换行符0xA留在输入缓冲区
    printf("%d\n",num);
    getchar();//读取缓冲区遗留的换行符0xA,不会暂停程序
    getchar();//暂停程序
    return 0;
}

C语言控制台程序中,getchar()函数 按下回车键enter,则接受到0xA(\n)而非0xD(\r)
getche()/getch() 按下回车键enter,则接受到的是键盘码0xD(\r)而非0xA(\n)
两者的缓冲区不同,所以不可用连续的getche()/getch()处理换行符来暂停程序

3.使用函数system("PAUSE"); //
<process.h> 来暂停程序

4.使用#include <windows.h> + Sleep(毫秒数);
来暂停程序

5.循环使用_kbhit()//<conio.h>来检测是否有键盘输入,来暂停程序

#define _CRT_SECURE_NO_WARNINGS

#include <conio.h>

int main(void)
{
while(!_kbhit())
;
return 0;
}
0 0