C++ 实现按随意键继续~~~
近期让学生敲代码交作业的时候要求他们仅仅给我交个cpp文件和一个exe文件,这样交上来的东西不至于太多,不占我的地方,可是有一个问题是exe它总是执行完后就直接关闭界面了,看不到执行结果的界面。
然后我就教他们说,用一个cin语句,让界面停留一下等待用户输入,这样我们就能够看得到界面了。(我认为眼下为止,它们也还仅仅能接受这样的方式吧?)
今天下课之后,一个学生一脸汗且非常严肃的来问了我几个问题。
为什么#include<conio.h>文件头去掉.h就不行了?在用到getch()函数的时候要包括这个文件头。
这个。。。我想没有为什么吧?我仅仅能告诉他说由于getch()仅仅存在<conio.h>中,没有在<conio>然后std中~~~
然后他又问我,rand()函数的头文件是哪个?#include<stdlib.h>? ~~~~~~~~~~我想说,为什么还要问呢?
回到宿舍洗完澡之后,我又想起这个问题,认为我有必要把正经的能让程度按随意键继续的那个函数找出来,然后我常旧百度了一下。
答案是这种:假设用stdio.h,那能够用getchar();假设用stdlib.h,那就用system("PAUSE");假设用conio.h,那就用getch()。
然后我编了个小程序去试一下,由于我记得,在VC6.0环境下,用getchar()并不须要加头文件stdio.h。
我的程序例如以下:
#include<iostream>
using namespace std;
int main()
{
int i;
cin>>i;
cout<<i<<endl;
getchar();
return 0;
}
然后执行结果是,它根本没有停留,依旧自我的结束了执行。
正当我想下个结论说"当getchar()遇上cin的时候它就失效了"的时候,我看到了这样一个答案:由于用getchar()仅仅能接收到一个字符,当你输入n值后,按了回车键,这个值在windows平台下是两个ASCII字符/n/r也就是回车换行,当回车时/n被控制台接收而/r没有,/r让紧接其后的getchar()接收了,于是就出现了以上情况。
哦~~~原来如此。
可是,getch()就没有这个问题,我试过了。
C++ 实现按随意键继续~~~的更多相关文章
- 一分钟制作U盘版BT3 - 有图滴儿 bt3破解教程
一分钟制作 BT3 U盘版方便,快捷简单无效不退款 光盘版BT3, 大概694MB,直接刻盘,然后用光盘引导,就可以进入bt3,连接为:http://ftp.heanet.ie/mirrors/bac ...
- STL之Map的运用
Map是c++的一个标准容器,她提供了非常好一对一的关系,在一些程序中建立一个map能够起到事半功倍的效果,总结了一些map基本简单有用的操作! 1. map最主要的构造函数: map<s ...
- 浅谈C语言中的联合体
联合体union 当多个数据须要共享内存或者多个数据每次仅仅取其一时.能够利用联合体(union).在C Programming Language 一书中对于联合体是这么描写叙述的: 1)联合体是一个 ...
- SystemTimeToFileTime、FileTimeToLocalFileTime、LocalFileTimeToFileTime三函数的跨平台实现
// test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <stdlib.h> #include & ...
- 排序(5)---------高速排序(C语言实现)
继shell发明了shell排序过后呢,各位计算机界的大牛们又開始不爽了,为什么他能发明.我就不能发明呢.于是又有个哥们蹦出来了.哎...那么多排序,就木有一个排序是中国人发明的.顺便吐槽一下,一百年 ...
- HTTP协议具体解释
HTTP是一个属于应用层的面向对象的协议.因为其简捷.高速的方式.适用于分布式超媒体信息系统. 它于1990年提出,经过几年的使用与发展,得到不断地完好和扩展.眼下在WWW中使用的是HTTP/1.0的 ...
- VC6.0建立控制台程序实现PDA应用
作者:iamlaosong 由于须要,又写起了文本界面的程序,以便PDA通过telnet连上运行. 假设是Linuxserver的话.这是非常easy的事,但是用户server是windows ser ...
- DOS命令大全--具体解释
在Linux和Windows下都能够用nslookup命令来查询域名的解析结果 DOS命令大全一)MD--建立子文件夹 1.功能:创建新的子文件夹 2.类型:内部命令 3.格式:MD[盘符:][路径名 ...
- Winpcap网络编程九之Winpcap实战,ARP协议获得MAC表及主机通信
大家好,本次我们须要完毕的任务是: 完毕两台主机之间的数据通信(数据链路层) 仿真ARP协议获得网段内主机的MAC表 使用帧完毕两台主机的通信(Hello! I'm -) 声明:本文章的目的是为大家的 ...
随机推荐
- Linux 系统挂载数据盘
适用系统:Linux(Redhat , CentOS,Debian,Ubuntu) * Linux的云服务器数据盘未做分区和格式化,可以根据以下步骤进行分区以及格式化操作. 下面的操作将会把数据盘划 ...
- Twisted 阐述
原地址:http://bbs.gameres.com/thread_224020.html Firefly为什么使用Twisted?1.基于PythonTwisted是使用Python编写的,强壮的. ...
- POJ 3352 Road Construction (边双连通分量)
题目链接 题意 :有一个景点要修路,但是有些景点只有一条路可达,若是修路的话则有些景点就到不了,所以要临时搭一些路,以保证无论哪条路在修都能让游客到达任何一个景点 思路 :把景点看成点,路看成边,看要 ...
- TC SRM 607 DIV2
求拼接完成后的字符串包含的子回文串的数目,一开始还用暴力去做,想都不用想 肯定超时了. 复习了一下求最长子回文串的算法,发现可以类似解决. 给相邻字符之间添加一个'@'字符,这样所有的回文串都是奇数长 ...
- Ember.js demo7
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1 ...
- [CF 191C]Fools and Roads[LCA Tarjan算法][LCA 与 RMQ问题的转化][LCA ST算法]
参考: 1. 郭华阳 - 算法合集之<RMQ与LCA问题>. 讲得很清楚! 2. http://www.cnblogs.com/lazycal/archive/2012/08/11/263 ...
- ORA-28001: the password has expired
大早上正式库提示: Oracle提示错误消息ORA-28001: the password has expired 解决办法: 1.利用SYSDBA权限登陆: 2.查看账户信息:select user ...
- [HDU 1203] I NEED A OFFER!
I NEED A OFFER! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- Apache设置防DDOS模块mod_evasive
mod_evasive 是Apache(httpd)服务器的防DDOS的一个模块.对于WEB服务器来说,是目前比较好的一个防护DDOS攻击的扩展模块.虽然并不能完全防御 DDOS攻击,但在一定条件下, ...
- pop3
POP3_Client pop3 = new POP3_Client(); pop3, false); pop3.Authenticate("username", "pa ...