文档章节

C++ 字符串读取getline函数

o
 osc_wws45aot
发布于 2019/08/21 22:30
字数 315
阅读 0
收藏 0
c++

精选30+云产品,助力企业轻松上云!>>>

官方说明:
(1)    
istream&getline(istream&isstring&str,char delim);
istream&getline(istream && isstring&str,char delim);
(2)    
istream&getline(istream&isstring&str);
istream&getline(istream && isstring&str);

从流中获取行字符串
从is中提取字符并将它们存储到str中,直到找到分隔字符delim(或换行符,(2)中默认为'\ n')。

is:
istream object from which characters are extracted.
str:
string object where the extracted line is stored.
The contents in the string before the call (if any) are discarded and replaced by the extracted line.

例如:

第一行输入一个n,代表接下来输入n行字符串(每行字符串可以包含空格)

3
aa aa
bbb
ccc
#include <iostream>
#include <vector>
using namespace std;

int main()
{
    vector<string> vec;
    int n;
    cin >> n;
    cin.get();//由于输入n之后回车,使用这句回车符号吃掉,否则下面的getline()获取的第一个字符串为'\n'

    while(n--)
    {
        string s;
        getline(cin, s); //默认为回车符,若以其他符号为分隔符,改为getline(cin, s, ','),例如逗号
        vec.push_back(s);       
    }
    cout<< "result: " <<endl;
    for(int i=0; i<vec.size(); ++i)
    {
        cout << vec.at(i) << endl;
    }

    system("pause");
    return 0;
}

 

若没有cin.getr()将 '\n' 吃掉,则会出现以下情况:

输入两次便不可在输入,输出结果中第一行为空(只有一个回车符号,所以显示为空)




 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
C++输入cin,输出cout,换行endl,getline连续读取字符

简记:cin=键盘,cout=屏幕。 >>和<<指向代表数据流动方向。<<是流插入运算符,右操作数(运算符右边的值)会被插入到输出流中。 首先要包含:#include <iostream> using std::cin; using s...

osc_y0xqgfqd
2019/03/14
12
0
<CPP学习 第二天> 字符串的输入 及 String类

  今天简单的学习了字符串的输入以及C++的String类。   1.面向行的输入:    getline();     getline()函数读取整行,通过回车键输入的换行符来确定输入结尾。要调用这种方法,可...

osc_c4xow9p9
2018/06/12
1
0
C++标准库之string类型

stirng类型 简介: C++标准库提供的类型:string 长度可变的字符串 操作简单  仅为包含个人常用函数 头文件 string 类型与其它的标准库类型相同,都需要包含对应的头文件 string 类型的定义和...

osc_ed4c5zv7
2019/12/10
2
0
C/C++字符串笔试知识点及实例

一、C字符串与C++字符串的深入理解 对于C语言,需要区分C字符串和C字符数组。 C字符串:以字符NULL(‘0’)结尾的字符数组; C字符数组:数组元素类型为字符类型。 C字符串的的初始化:; C字符...

osc_evi50j4g
2018/07/28
2
0
C++常用的string字符串截断函数

C++中经常会用到标准库函数库(STL)的string字符串类,跟其他语言的字符串类相比有所缺陷。这里就分享下我经常用到的两个字符串截断函数: 函数CutString根据选定的字符切分string,兼容最前...

osc_h67eqfa6
2019/07/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

eclipse汉化教程(附安装包)

eclipse汉化包安装步骤 一、去官网或者在本站下载Eclipse(不管是什么版,中文设置的方法都是差不多的,所以说我们汉化的教程不管未来更新多少个版本都是一样的) 官方下载地址:www.eclipse.o...

树懒宝宝
11分钟前
8
0
CocosCreator之分层管理的ListView

前言 进入公众号回复listview即可获得demo的git地址。 之前写的一篇文章《Creator之ScrollView那些事》中提到了官方Demo中提供的ListViewCtl,只是实现了纵向滑动,没有实现横向滑动。并且建议...

陈广文
14分钟前
11
0
在CSS Flexbox中,为什么没有“ justify-items”和“ justify-self”属性?

问题: Consider the main axis and cross axis of a flex container: 考虑伸缩容器的主轴和横轴: Source: W3C 资料来源: W3C To align flex items along the main axis there is one pro......

法国红酒甜
16分钟前
11
0
搜索解决方案 - ElasticSearch/Solr/Lucene

搜索解决方案 - ElasticSearch/Solr/Lucene 1. 什么是 ElasticSearch ElasticSearch 是一个基于 Lucene 的搜素服务器 是一个分布式、高扩展、实时的搜素与数据分析引擎 基于 RESTful web 接口...

夙梦o
19分钟前
26
0
设计模式学习笔记(五):工厂方法模式

1 前言 尽管简单工厂模式实现了对象的创建和使用分离,但是仍然存在以下两个问题: 工厂类过于庞大,包含了大量的判断代码,导致维护和测试难度增大 系统扩展不灵活,如果增加了新的产品类型...

氷泠
23分钟前
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部