近期让学生敲代码交作业的时候要求他们仅仅给我交个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++ 实现按随意键继续~~~的更多相关文章

  1. 一分钟制作U盘版BT3 - 有图滴儿 bt3破解教程

    一分钟制作 BT3 U盘版方便,快捷简单无效不退款 光盘版BT3, 大概694MB,直接刻盘,然后用光盘引导,就可以进入bt3,连接为:http://ftp.heanet.ie/mirrors/bac ...

  2. STL之Map的运用

    Map是c++的一个标准容器,她提供了非常好一对一的关系,在一些程序中建立一个map能够起到事半功倍的效果,总结了一些map基本简单有用的操作! 1. map最主要的构造函数:    map<s ...

  3. 浅谈C语言中的联合体

    联合体union 当多个数据须要共享内存或者多个数据每次仅仅取其一时.能够利用联合体(union).在C Programming Language 一书中对于联合体是这么描写叙述的: 1)联合体是一个 ...

  4. SystemTimeToFileTime、FileTimeToLocalFileTime、LocalFileTimeToFileTime三函数的跨平台实现

    // test.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <stdlib.h>   #include & ...

  5. 排序(5)---------高速排序(C语言实现)

    继shell发明了shell排序过后呢,各位计算机界的大牛们又開始不爽了,为什么他能发明.我就不能发明呢.于是又有个哥们蹦出来了.哎...那么多排序,就木有一个排序是中国人发明的.顺便吐槽一下,一百年 ...

  6. HTTP协议具体解释

    HTTP是一个属于应用层的面向对象的协议.因为其简捷.高速的方式.适用于分布式超媒体信息系统. 它于1990年提出,经过几年的使用与发展,得到不断地完好和扩展.眼下在WWW中使用的是HTTP/1.0的 ...

  7. VC6.0建立控制台程序实现PDA应用

    作者:iamlaosong 由于须要,又写起了文本界面的程序,以便PDA通过telnet连上运行. 假设是Linuxserver的话.这是非常easy的事,但是用户server是windows ser ...

  8. DOS命令大全--具体解释

    在Linux和Windows下都能够用nslookup命令来查询域名的解析结果 DOS命令大全一)MD--建立子文件夹 1.功能:创建新的子文件夹 2.类型:内部命令 3.格式:MD[盘符:][路径名 ...

  9. Winpcap网络编程九之Winpcap实战,ARP协议获得MAC表及主机通信

    大家好,本次我们须要完毕的任务是: 完毕两台主机之间的数据通信(数据链路层) 仿真ARP协议获得网段内主机的MAC表 使用帧完毕两台主机的通信(Hello! I'm -) 声明:本文章的目的是为大家的 ...

随机推荐

  1. 『Asp.Net 组件』Asp.Net 服务器组件 内嵌CSS:将CSS封装到程序集中

    代码: <span style="font-family:Microsoft YaHei; font-size:12px">using System; using Sy ...

  2. Rails 撤销操作

    即使再小心,在开发 Rails 应用程序过程中仍然可能犯错.幸运的是,Rails 提供了一些工具能够帮助你进行复原. 举例来说,一个常见的情况是,你想更改控制器的名字,这时你就要撤销生成的代码.生成控 ...

  3. Shell编程学习---第五篇:Shell的输入和输出

    在shell脚本中,可以用几种不同的方式读入数据:可以使用标准输入—缺省为键盘,或 者指定一个文件作为输入.对于输出也是一样:如果不指定某个文件作为输出,标准输出总 是和终端屏幕相关联.如果所使用命令 ...

  4. 坑爹的libxml2 for mingw 编译

    按照官方的readerme.txt说法生成Makefile之后,你会发现编译时候需要创建几个文件夹. 还有就是因为宏定义问题,报错,需要在config.h中加入#define HAVE_STDINT_ ...

  5. ERP 实施和应用不成功共同点

    ERP 实施和应用不成功共同点     ERP 重新得到人们理性的关注并不意味着实施和应用ERP变得轻而易举了.如何才能实施好ERP?这仍然是关键的问题. 大部份企业应用ERP不成功的原因是什么,许多 ...

  6. c/c++ void 指针

    原文 : http://blog.csdn.net/yyyuhan/article/details/3153290 1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使 ...

  7. 白书P61 - 点集配对问题

    白书P61 - 点集配对问题 状压DP #include <iostream> #include <cstdio> #include <cstring> using ...

  8. 【转】Mac用户必备!100多款免费实用的苹果Mac软件大搜集

    原文网址:http://www.iplaysoft.com/100-mac-freeware.html 对于 Mac 新手,尤其是刚刚从 Windows 转到 Mac OS X 的用户来说,最大的痛苦 ...

  9. arcgis for android访问arcgis server上自己制作部署的地图服务

    转自:http://gaomw.iteye.com/blog/1110437 本项目的开发环境是eclipse3.5 + ADT11插件+arcgis for andorid 插件 + arcgis ...

  10. lightoj 1012

    水题,dfs #include<cstdio> #include<string> #include<cstring> #include<iostream> ...