鱼C论坛

 找回密码
 立即注册
查看: 2907|回复: 4

getchar和getche有什么区别呢?

[复制链接]
发表于 2011-10-8 20:36:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 for 于 2011-10-14 07:35 编辑

# include <stdio.h>
# include <conio.h>
int main ()
{
        while (1)
        {
                char ch;
                ch = getche();
                if (ch=='\n')
                        break;
                putchar ('*');
        }
        printf ("退出了while");
return 0;
}为什么用getchar能推出while,但getche不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-8 22:36:00 | 显示全部楼层
windows 的控制台下一个回车是两个符号'\r\n'
getch读取一个键盘符就结束,所有按回车,一接到‘\r'就结束了,不会接受到'\n'
如果你这里改成'\r'就能结束
getchat不能接收到\r,如果getchar用’\r‘判断结束,一样结束不了

这也算是他们直接的区别了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-9 06:34:31 | 显示全部楼层
本帖最后由 yipwing 于 2011-10-9 06:42 编辑

总的来说,楼上说的没错。。
我这里就不多说了。。



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-10-9 07:21:36 | 显示全部楼层
谢谢,我明白了。总之,用getch()时,if语句用\r,用getchar时,if语句用\n
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-10-13 12:36:09 | 显示全部楼层
从输入缓冲区读取一个字符, 读取回显字符吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 04:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表