c语⾔强制停⽌程序,C语⾔实现程序的暂停
在C语⾔中有时候需要实现程序的暂停:在某⼀步暂停⼀下,或者需要实现⼈⼯控制程序进度。这个时候需要加上⼏个常⽤的函数来实现,下⾯有两种⽅法::
1> system(“pause”);
这种⽅法需要加上头⽂件
#include
#include
int main(void)
{
printf("I need a pause here.\n");
system("pause");
printf("And here too.\n");
system("pause"); 。
return 0;
}
运⾏⼀下发现有两个暂停点,可以实现程序的暂停。
如果系统中没有pause这个命令,那么:
2> getchar(); 或者 ();(适⽤于C++)
1)这个函数适⽤于任何系统,但是,当 getchar();/(); 前⾯有接收输⼊的语句的时候,该办法会失效。
2)如果之前没有接收任何输⼊,该办法是绝对有效的!
这是因为,如果前⾯接收了输⼊,输⼊流中可能会有残留数据,getchar();/(); 就会直接读取输⼊流中的残留数据,⽽不会等待我们按回车。解决该问题的办法是,先清空输⼊流,再⽤ getchar();/();。清空输⼊流的办法如下:
1). while ( (c = getchar()) != ‘\n’ && c != EOF ) ; /* 对于 C 和 C++ */
2). cin.clear(); // 仅适⽤于 C++,⽽且还需要包含标准头⽂件 limits
cin.ignore( numeric_limits::max(), '\n' );
例如: .
功能: 演⽰清空输⼊流及使⽤ getchar();/();
实现暂停:
#include
#include
#include 。
using namespace std;
int main()
{system的头文件
int i_test, c;
printf("Please enter an integer: ");
scanf("%d", &i_test);
printf("You just entered %d.\nPress enter ", i_test); while ( (c = getchar()) != '\n' && c != EOF ) ; // 清空输⼊流
clearerr(stdin); // 清除流的错误标记
getchar(); // 等待⽤户输⼊回车 .
cout << "Please enter an integer: ";
cin >> i_test;
cout << "You just entered " << i_test << ".\nPress enter "; cin.clear(); // 清除流的错误标记
cin.ignore( numeric_limits::max(), '\n' ); // 清空输⼊流
<(); // 等待⽤户输⼊回车
return 0;
} .
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论