| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 579 人关注过本帖
标题:输入输出流的一个简单问题,请各位帮个忙,谢谢了
取消只看楼主 加入收藏
lovecsky
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-4-22
收藏
 问题点数:0 回复次数:2 
输入输出流的一个简单问题,请各位帮个忙,谢谢了
#include<iostream.h>
#include<conio.h>
#include<stdio.h>
void main(void)
{
char ch;
cout<<"按下一个字符:";

ch=getche(); //为什么此种输入方式先于cout执行,非缓冲的
//ch=cin.get(); //而此种缓冲输入的方式结果如愿
//ch=getchar(); //这种方式也有问题,知道正确的方式,但想知道这样为什么有问题,和ch=cin.get()相比

cout<<endl<<"你输入的字符是:"<<ch<<endl;
}


希望的输出结果:
/*
按下一个字符:m

你输入的字符是:m
*/
搜索更多相关主题的帖子: 简单问题 输出 输入 
2007-05-04 00:16
lovecsky
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-4-22
收藏
得分:0 
对,版主修改的地方我原来也加了个刷新缓冲区语句,cout.flush();来迫使cout输出,但是不加刷新语句,ch=cin.get()这个函数却可以正确输出。 我觉得ch=cin.get()和ch=getche()没多大差别,除了头文件外。
谢谢版主热心帮忙。
2007-05-04 01:37
lovecsky
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-4-22
收藏
得分:0 
我是说两者在使用方法上,头文件不同就应该决定了是否使用了标准流。
getche()是无缓冲显示的,cin.get()是缓冲显示。谢谢楼上的,不过我有一点不明白,为什么要执行完ch=getche(),才开始执行cout,还有ch=getchar()也是。
请楼上的帮忙看一下。
2007-05-05 22:05
快速回复:输入输出流的一个简单问题,请各位帮个忙,谢谢了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017071 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved