当前位置:大问百书>百科问答>getline()函数

getline()函数

2024-11-16 02:28:29 编辑:zane 浏览量:603

getline()函数

的有关信息介绍如下:

问题补充说明:\那么s中最后2个字符是‘\么;n'0'和'?还是其他用getline()函数,若输入“jksdhfksdhg sdfhlasj" 以‘\"\n'.getline(s,1000;),1000;n"请输入字符串:char*s=new char[1000];cin.getline(s:\n‘结束;\cout<,' cin,'<部分代码如下;n';)

首先你只要弄明白了这个版本getline针控永战顶部()函数的函数原型,这些问题就护良义灯鲜迎刃而解了。它的函减陈数原型是:

istream&getline(char*sink,intsize,chardelim='\n')各参数意义亮斤战陈车粒市尔至

从调用它的输入流类型对象,也就是cin中读取size个字节并将它们存储到sink所指向的字符数组中。读操作直到遇到delim字符,或已经读快副实现令免运她照财孩入了size个字符,或遇到文件起振们热类者图空何结束符才结束。如果出现了d厂呼汉她李损营客业员纪elim,读并丢弃d光elim,"读并丢弃"意思是说输入流中delim字符没有了,但钟delim字符并混判台查胡起生呼个握千没有存入到sink所指向的数组。另外还有一点要注意的是:delim默认情况下是'\n',。也就是说你写的cin.getline(s,1000,,'\n')可以简写成cin.get系line(s,1000)而且getline()函数会自动为读取的字符末尾加一个空字符'\0'.

看下面的程序你就干明白了:

getline()函数

当我输入:012345678910十二个字符时,运行结果为:

getline()函数

看似只读入9个字符,其实不然,最后一个空字符'\0'是不可打印字符,所以没有显示出来,但你可以访问一下,在程序里加一条cout<<s[9];:改后如下:

getline()函数

运行结果为:

getline()函数

和第一个的运行结果比较,你会发现Pressanykeytocontinue_向右移动了一格,这一格就是那个不可见的空字符'\0'。

版权声明:文章由 大问百书 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.dawenbaishu.com/answer/189873.html
热门文章