注册 登录
编程论坛 C++教室

按下回车键时,对应的是“回车符”还是“换行符”呀,为何这样呢?(有代码

go_hao 发布于 2011-07-23 16:34, 921 次点击
按下回车键时,对应的是“回车符”还是“换行符”呀,为何这样呢?(有代码)

getch()与getchar()就不同,cin.get()与 getchar()相同,
难道没有明确的约定吗?按下回车键,对应的是哪个字符呢!

#include "stdafx.h"
#include <iostream>
#include <conio.h>
using namespace std;

int main(int argc, char* argv[])
{
        cout << "。。。请按回车键。。。" << endl;

        char c;
        c=getch();
        cout << "按回车键后,得到的ascii码是: " << int(c) << endl; // 13

        cout << "。。。请按回车键。。。" << endl;

        char ch;
        cin.get(ch);
        cout << "按回车键后,得到的ascii码是: " << int(ch) << endl; //10

        char ch2;
        ch2=getchar();
        cout << "按回车键后,得到的ascii码是: " << int(ch2) << endl; //10

        return 0;
}
7 回复
#2
go_hao2011-07-23 21:22
自顶吧,没人理我呀
#3
duliningmiss2011-07-23 21:44
这个问题还真没有研究过
#4
张瑞涛2011-07-23 22:01
getch() 这个函数没有回显(就是你按下的键是什么,界面上是不显示的),也无需回车,就会显示运行下句.
而getchar()这个函数是有回显的,而且你一定要回车,才能运行下一句.

而关于cin.get()与getchar()相同,我也只是接受而已,并没有深究.
#5
pangding2011-07-24 01:09
用标准库的话,效果应该是一个 '\n',即换行符。但产生的机制不同的系统下不一样。
getch() 不是标准函数,不受c/c++标准的限制。
#6
dchdcf2011-07-26 16:33
还没有仔细研究过,不过楼主的看法还是可以接受的。我只是个大学菜鸟,还在为考级发愁。
#7
lucky5635912011-07-27 10:58
我一般用ASCII码来区分,但是编译时好像回车符包含了换行
#8
yong7181002011-07-27 16:59
四楼说的有理!
1