windows 控制台下 无法获取完整的回车键值

问题描述:

收集的网友分析:

http://bbs.csdn.net/topics/370084904

因为C语言和UNIX的开发者是同事……
C语言里统一用的\n表示另起一行。微软的DOS受到了当时8位系统主流OS CP/M的影响,使用\r\n表示另起一行。Mac用\r表示另起一行。
C标准库隐藏了平台的不一致性,所有标准输入输出(包括标准文件)操作时都会自动进行转换,保证语言内总是用\n。像getchar()、fscanf()、printf()等等都是这样的。
getch()并不是C标准库的函数,而是比较低级的控制台函数,所以不会进行转换。

你无法通过cin输入回车符(ASCII 13),因为C++标准库和C一样,通过键盘中断服务读取的\r\n会被自动转换为\n。

时间: 2024-10-16 00:51:17

windows 控制台下 无法获取完整的回车键值的相关文章

windows 控制台下运行cl命令

前提:确保已经安装vc6或者vs系列 我们可以再命令行直接编译c++程序 在windows操作系统中,打开命令行,输入cl,若系统提示 'cl' 不是内部或外部命令,也不是可运行的程序或批处理文件. 则说明VS没有安装或者环境变量设置不正确,可以按照如下步骤设置:1. 确保已经安装VS,并在控制台 中键入set    检查是否有类似如下格式的环境变量VSXXCOMNTOOLS VS90COMNTOOLS=D:\Program Files\Microsoft Visual Studio 9.0\C

Windows控制台下绘制简单图形

示例代码将在注册表位置:HKEY_CURRENT_USER\Software\  读写键值 bool LicenseManage::OpenRegKey(HKEY& hRetKey) { if (ERROR_SUCCESS == RegOpenKey(HKEY_CURRENT_USER,"Software", &hRetKey)) { return true; } return false; } bool LicenseManage::CreateRegKey(stri

用VBS控制鼠标(获取鼠标坐标、鼠标移动、鼠标单击、鼠标双击、鼠标右击)

Demon's Blog 忘记了,喜欢一个人的感觉 Demon's Blog  ?  程序设计  ?  用VBS控制鼠标(获取鼠标坐标.鼠标移动.鼠标单击.鼠标双击.鼠标右击) ? bbPress积分插件--Virtual Money VBS调用WMI监视注册表变动 ? 用VBS控制鼠标(获取鼠标坐标.鼠标移动.鼠标单击.鼠标双击.鼠标右击) 标题: 用VBS控制鼠标(获取鼠标坐标.鼠标移动.鼠标单击.鼠标双击.鼠标右击)作者: Demon链接: http://demon.tw/programm

win phone 获取并且处理回车键事件

参考自:http://www.cnblogs.com/mohe/archive/2013/03/18/2966540.html 实用场景,比如输入帐号和密码啦,输入搜索关键字啦. protected override void OnKeyDown(KeyEventArgs e) { if (e.Key == Key.Enter) { MessageBox.Show("我是windows phone 回车键"); //代码处理,跳转到哪个页面 } } win phone 获取并且处理回车

[转]Windows平台下Makefile学习笔记

Windows平台下Makefile学习笔记(一) 作者:朱金灿 来源:http://blog.csdn.net/clever101 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译平台的问题(发现一些开源代码已经在使用VS2010开发,但我还没安装VS2010,我想在VS2008下编译这些代码):另一方面源码在服务器端编译的话,使用IDE的方式编译还是不太方便. 本文主要分为三部分:第一部分讲述namke工具使用makefile的用法:第二部分讲述makefile的主要语法:

如何在控制台下画出一个正线曲线

昨晚一个同学在网上找了一段傅里叶变换的代码,但是需要验证代码的正确性.于是就打算生成一个正弦波.他找到了我,代码本身是没有难度的,因为基本任何语言都有math库,库中肯定有三角函数.我当时想,能不能在Windows的控制台下画出一个正弦波.需要解决的问题只有一个,如何控制Console的光标位置.所幸的是,Windows提供了这样的API给我们使用.在windows.h的头文件中,有这样几个函数. HANDLE WINAPI GetStdHandle( _In_ DWORD nStdHandle

在RHEL中搭建DHCP服务使得windows系统能自动获取IP地址

实验环境: RHEL6.5版本.Windows7系统各一台RHEL6.5版本的IP地址:192.168.100.222 本实验所使用到的一些命令: cd 切换目录 rpm 添加/删除程序功能 cat 查看文件 cp 复制 vim 编辑文件 service 启动/关闭某个程序 ---------------------------------操作步骤---------------------------------------- 一.检查光驱是否已经挂载在mnt目录下. 二.安装DHCP. 三.到

如何在Windows、Linux中获取主机的网络信息和公网地址

在我们的日常工作中,我们会需要进行查询主机当下的网络信息和公网上看到的IP地址信息,他们就像是网路上的名片,让我们找到彼此. Windows下如何获取内网和公网信息 在windows下该如何获取网路信息呢? 打开windows下的命令行,输入如下命令:  大家可以看到,在上述的截图中列出了内网地址,DNS信息,网关信息,内网地址,外网地址等等信息,包括无线还是优先的网卡等等信息. 这里截取了某个无线网卡的网络信息,做一个简单的示例. 那如何获取其公网信息呢? -** baidu.com中输入公网

windows平台下的oracle ORA-01031的解决方法

今天下午遇到一个很怪异的问题,在windows平台下sqlplus  / as sysdba登陆数据库,提示权限不足, 当时就纳闷了,sys用户登陆数据库还能权限不足,问题出现了,就开始寻找解决方法呗 首先查看$ORACLE_HOME/network/admin/sqlnet.ora中SQLNET.AUTHENTICATION_SERVICES项的配置信息, 网上的大多数帖子一致结论为: 在windows平台上,SQLNET.AUTHENTICATION_SERVICES必须设置为NTS或者AL