getline的字符串读入
Posted Mudrobot
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了getline的字符串读入相关的知识,希望对你有一定的参考价值。
也许是最近模拟题打多了的缘故,我发现自己渐渐变得比较毒瘤起来,当然这也是有一定的好处的,因为从中我也学到了一些处理字符串的正确姿势,今天我们就来讲一 讲如何用函数getline来读入一整行字符串进行处理。或者他的一些变体。
首先我们先需要知道为什么我们要学习这个函数,是这样的,相信大家都应该知道以前有一个函数叫做gets,这个函数非常的好用,你可以非常快捷的使用他来进行一整行字符串的输入,但是这个函数不知道为什么在正式的比赛中,很容易使用它而导致挂掉,而又因为最基本的读入getchar本人在写的时候,也经常会出现一些意想不到的错误,所以我们急需一个可以既安全的能够读入字符串的函数,又并不是非常的难书写,这里就要引入getline了。
因为string类型非常的慢,所以考试的时候我们基本上不用,这个类型,所以说我们只需要掌握一下,getline关于字符串(char)类型的输入就可以了。然后这个其实也还是非常的简单的。
getline这个函数是属于iostream库的,然后我们只需要在代码中写这一句话即可
cin.getline(字符串名,字符串大小,*条件)
然后这个关于条件这个东西,一般不填,如果不填,默认读到回车时结束,如果填了,那么 就会读到你想要指定的那个字符前停止读入。
标准代码如下:
#include<iostream> using namespace std; char ch[1024]; int main() { cin.getline(ch,1024,\'E\'); cout<<ch; cout<<"A"; }
运行结果:
相信大家应该都会使用getline了。
谢谢采纳!
以上是关于getline的字符串读入的主要内容,如果未能解决你的问题,请参考以下文章
cin 不能直接读入空格,可以用getline(PAT统计字符数)