c++用getline函数如果输入的字符超过了最大限度会怎样?

为什么我输入的字符超过了最大限度,程序就忽略了第二个输入函数直接退出了?... 为什么我输入的字符超过了最大限度 ,程序就忽略了第二个输入函数 直接退出了? 展开
 我来答
百度网友bb29ad2
2016-06-14 · TA获得超过2271个赞
知道小有建树答主
回答量:890
采纳率:33%
帮助的人:220万
展开全部
输入长度超过第二个参数的值,就会导致程序直接结束。
所以你要保证输入字符数量少于第二个参数。
还有,你定义的数组大小是5,但是只能放4个字符,必须留一个存放'\0‘表示字符串结束。
所以你输入长度为4就不会有问题。

朋友,请【采纳答案】,您的采纳是我答题的动力,如果没有明白,请追问。谢谢。
更多追问追答
追问
关键是为什么   输入长度超过第二个参数的值,就会导致程序直接结束 啊?
谢谢啦
追答
系统函数这么设定的了。第二个参数就是表示要读入的数据长度,你输入长度超过它,系统就认为你是非法操作,所以就干掉了进程。
物理公司的
2016-06-14 · TA获得超过5696个赞
知道大有可为答主
回答量:6105
采纳率:86%
帮助的人:1378万
展开全部
cin.getline当输入长度不够或者大于给定长度的时候都会改变输入流的状态,导致下次输入失败。
追问
不够也能导致下次输入失败吗?  那为什么我试验的时候   输入长度不够   但是下次可以正常输入啊?    还要要怎么改才能使下次输入成功啊   谢谢啦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式