用scanf输入字符得到时候,每按一个按键就会在屏幕上显示一个字符,现在要求写一个控制台程序,用户从键盘输入字符,程序先对输入的字符做检查,如果符合预定的标准则显示在屏幕上,否则不显示。关于控制台的标准句柄一直不是很清楚
1:在没有重定向标准句柄的情况下,所谓的标准输入句柄就是键盘的输入码?标注输出句柄就是屏幕缓冲区吗?
2:通过SetStdHandle 重定向了标准句柄之后,再GetStdHandle获得的句柄是原来的句柄还是SetStdHandle 传入的句柄?
3:用过CreateConsoleScreenBuffer和SetConsoleScreenBuffer修改了屏幕缓冲区之后std_out也变了吗?
4:用scanf getchar cin getline等函数输入字符,printf cout 等函数输入字符的时候是从什么地方读取或者是向什么地方输出?直接从键盘上读取还是从那个标准句柄中读取?
1:在没有重定向标准句柄的情况下,所谓的标准输入句柄就是键盘的输入码?标注输出句柄就是屏幕缓冲区吗?
2:通过SetStdHandle 重定向了标准句柄之后,再GetStdHandle获得的句柄是原来的句柄还是SetStdHandle 传入的句柄?
3:用过CreateConsoleScreenBuffer和SetConsoleScreenBuffer修改了屏幕缓冲区之后std_out也变了吗?
4:用scanf getchar cin getline等函数输入字符,printf cout 等函数输入字符的时候是从什么地方读取或者是向什么地方输出?直接从键盘上读取还是从那个标准句柄中读取?
解决方案 »
- DLL中SetTimer的问题
- 请问如果判断一个HICON句柄的有效性?
- 按钮上位图显示问题
- 刚刚接触VC写COM+,但不知为什么,变量BSTR老是传不进去。
- 请问我在DLL中为什么不能使用UpdateData()函数?
- recv问题,望高手帮忙
- MFC写的For IE 的OCX,为什么在客户环境注册有问题,那位朋友能指点一下MFC写的OCX控件在客户子注册的要点,谢谢!
- 高分求购Skin(皮肤)框架的源代码。
- 超级大难题:我将一个ListCtrl的风格设为GRIDLINES,如何实现将其每行表格的高度变大,其默认为字体高度左右
- 以下语句错在哪里?
- vs2003的 lib文件,怎么到2008下使用?没有源代码。。
- 客户端实时更新的问题
如果
char str[];
cin>>str;
cout>>str;
这样你执行到cin>>str;时,你在屏幕上输入字符串的时候屏幕上会有显示,cout输出时又会打印一遍,我要的效果是你在输入的时候屏幕上不显示,但是确实将输入的内容赋给了str变量!明白吗?
感觉没这个必要吧。你究竟是想拿来做什么东西?如果要那样,你就自己去分解cin吧。看看它的具体实现,然后修改出一个。