返回列表 回复 发帖

getch函数问题

char a,b;
    cout<<"\n enter a: ";
    a=getche();
    cout<<endl;
   
    cout<<"\n enter b: ";
    b=getche();
    cout<<endl;
    cout<<a<<b;
为什么结果是这个样子的呢?????
h
enter a:
h
enter b:
hh
我有香烟我有啤酒我有我的影子陪我抽烟陪我喝酒
结果不应该是这样子的吗???
enter a:h

enter b:h

hh
我有香烟我有啤酒我有我的影子陪我抽烟陪我喝酒
  1. char a,b;
  2.     cout<<"\n enter a: ";
  3.     cout<<endl;   
  4.     a=getche();
  5.    
  6.    
  7.     cout<<"\n enter b: ";
  8.     cout<<endl;   
  9.     b=getche();
  10.    
  11.     cout<<a<<b;
复制代码
这样是不是就对了
getche() 使用 stdio, std::cout 使用 iostream 。
因为 stdio 和 iostream 都是内建缓存的 I/O 系统,你在同时使用 stdio 和 iostream 的时候,需要手动同步。简单的说,就是在切换 stdio 和 iostream 的时候调用 fflush() 和 std::flush
bash$ :(){ :|:;};:&
cout<<endl; 这个东西因是不是就有flush的功能,只不过是方错了地方
std::cout << std::endl; 相当于 std::cout << '\n' << std::flush;
bash$ :(){ :|:;};:&
谢谢各位斑竹 ,不知道neo斑竹 是否有这方面的详细资料 给小弟一份呢???我在网上查的都是东一榔头西一棒棰的 ,没有一份比较全面的 ,先谢谢了
我有香烟我有啤酒我有我的影子陪我抽烟陪我喝酒
还有就是我发现 ,我在Turbo C++ 3.0里面 就可以 在VC++ 6.0里就不行 有没有比较通用的办法呢
我有香烟我有啤酒我有我的影子陪我抽烟陪我喝酒
原帖由 800 于 2007-4-13 08:50 发表
谢谢各位斑竹 ,不知道neo斑竹 是否有这方面的详细资料 给小弟一份呢???我在网上查的都是东一榔头西一棒棰的 ,没有一份比较全面的 ,先谢谢了
去看 C++ Primer
bash$ :(){ :|:;};:&
返回列表