C++命令行输入字符ctrl+z,为什么出错,如何避免
时间:2011-12-09
来源:互联网
我们编写一个图书馆系统,然后被别人测试的时候,别人给我们输入了一个ctrl+z,然后输入文件的时候,出现了什么也没有输入,这是怎么回事,我们应该如何避免呢?
R! E7 L* \# n0 @+ m G+ |( J2 X还有一个问题,一个string类型,然后再命令行输入的时候,输入一个a b,就是一个a一个空格一个b,就出错了,比如:9 c; o# }: t6 }0 p8 B: y; B
string q, w;
9 ]; X! Z) v" X9 W+ Vcin >> q;( _8 K0 c$ l, c+ U I7 x& V6 @
cout << q;
9 {& l# J% H: F' j* t输入a的时候,我们输入a,然后输入一个空格,然后输入一个b,结果,输出的q为:a.8 B( I8 c- ]" _# D
请问这俩问题怎么解决,谢谢了。
R! E7 L* \# n0 @+ m G+ |( J2 X还有一个问题,一个string类型,然后再命令行输入的时候,输入一个a b,就是一个a一个空格一个b,就出错了,比如:9 c; o# }: t6 }0 p8 B: y; B
string q, w;
9 ]; X! Z) v" X9 W+ Vcin >> q;( _8 K0 c$ l, c+ U I7 x& V6 @
cout << q;
9 {& l# J% H: F' j* t输入a的时候,我们输入a,然后输入一个空格,然后输入一个b,结果,输出的q为:a.8 B( I8 c- ]" _# D
请问这俩问题怎么解决,谢谢了。
作者: jinhuer168 发布时间: 2011-12-09
你还是吧你的问题描述清楚吧;: k/ ~0 ], D; r0 i
有几个问题;2 f# z7 f6 `. T
每个问题各是什么5 u/ W; B' a8 l0 h: F
我就看懂了了
- J5 E% ~0 k4 B$ q1 D* ?因为cin默认空格或者回车为输入之间的分隔符
5 P% \* A9 d. W7 Q+ f% O这是你可以用getline接受一行
有几个问题;2 f# z7 f6 `. T
每个问题各是什么5 u/ W; B' a8 l0 h: F
我就看懂了了
复制内容到剪贴板
cin>>s;
cout<<s<<endl;
输入a b记过输出只有a;代码:
string s;cin>>s;
cout<<s<<endl;
- J5 E% ~0 k4 B$ q1 D* ?因为cin默认空格或者回车为输入之间的分隔符
5 P% \* A9 d. W7 Q+ f% O这是你可以用getline接受一行
复制内容到剪贴板
getline(cin,s);
cout<<s<<endl;
代码:
string s;getline(cin,s);
cout<<s<<endl;
作者: 月夜幻影 发布时间: 2011-12-09
还有ctrl+z为输入结束符;7 i$ ^# S. P H% J
使输入流错误,之后输入均无效;
+ z [* w" s4 w& w8 i4 w4 n C9 S$ i. h& w$ ~' R0 _
如果别人非要这样输入的话你可以
使输入流错误,之后输入均无效;
+ z [* w" s4 w& w8 i4 w4 n C9 S$ i. h& w$ ~' R0 _
如果别人非要这样输入的话你可以
复制内容到剪贴板
cin>>s;//这里别人输入ctrl+z;
while(!cin)
{cin.clear();
cin.sync();
cout<<"please enter again"<<endl;
cin>>s;
}
代码:
string s;cin>>s;//这里别人输入ctrl+z;
while(!cin)
{cin.clear();
cin.sync();
cout<<"please enter again"<<endl;
cin>>s;
}
作者: 月夜幻影 发布时间: 2011-12-09
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28