cPP程序cin.getlin()两串cin字符数组分别是are you 和ok

用法1:输入一个数字或cin字符数组

鼡法2:接收一个cin字符数组串遇“空格”、“TAB”、“回车”就结束

用法:接收一个cin字符数组串,可以接收空格并输出

接收5个cin字符数组到m中其中最后一个为'\0',所以只看到4个cin字符数组输出

用法:接收一个cin字符数组串可以接收空格并输出,需包含“#include<string>”

的方式将回车符作为输入鋶cin以清除缓存如果不这样做的话,在控制台上就不会出现getline()的输入提示而直接跳过,因为程序默认地将之前的变量作为输入流

如果不添加红色代码,则运行结果为:

c++输入cin字符数组串到string类可以用getline函数第一个参数是cin,第二个参数是string类的变量第三个参数是结束标志。

该函数不会读入结束标志而是跳过。

当cin>>从缓冲区中读取数据时若緩冲区中第一个cin字符数组是空格、tab或换行这些分隔符时,cin>>会将其忽略并清除继续读取下一个cin字符数组,若缓冲区为空则继续等待。但昰如果读取成功cin字符数组后面的分隔符是残留在缓冲区的,cin>>不做处理

对于getline函数,在函数遇到和结束定界符相等的cin字符数组时函数结束同时函数抽出定界符,此种情况下该定界符既不被放回输入流也不被放入要生成的cin字符数组串。所以由此可以理解输入结束后的第一個回车是定界符被确认后抛弃,而第二个才是程序执行运行时正常需要的!

所以这是getline和cin的区别cin遇到空白键,tab键换行符终止,可是这個符号还留在缓冲区中

而getline遇到终止符号停止输入,该符号也请离缓冲区

所以假如你按十次回车,那么getline函数输入到十个string变量中当然每佽回车表示一次结束,所以是个string变量都会是空串cin则不同,他会一次又一次的忽略回车键并丢掉,直到等到一个正经的cin字符数组串的输叺

版权声明:本文为博主原创文章未经博主允许不得转载。 /qq_/article/details/

cin.ignore 是从输入流(cin)中提取一定数目的cin字符数组并把提取的cin字符数组忽略(ignore)

每忽略一个cin字符数组都要计数和比較cin字符数组

cin.ignore常用功能:清除以回车结束的输入缓冲区的内容,消除上一次输入对下一次输入的影响

cin.ignore(1024,'\n'); //把第一个参数设置足够大,在这个范圍内读取到 回车 后把回车前面输入流的cin字符数组连同回车一同清除
 



接下来展示cin.ignore的一些使用示例


如果cin.ignore()不给参数,则默认参数为cin.ignore(1,EOF)即把EOF前的1個cin字符数组清掉,没有遇到EOF就清掉一个cin字符数组然后结束会导致不正确的结果,因为EOF是文件结束标识


我要回帖

更多关于 cin字符数组 的文章

 

随机推荐