#1674. C++-内置函数-getline()读入一行数据

C++-内置函数-getline()读入一行数据

No testdata at current.

Background

Description

c++中的getline函数,

getline()函数是一个比较常见的函数。根据名字直接望文生义,就知道这个函数是来完成读入一行数据。

在C++中本质上有两种getline函数:

第一种:在头文件<istream>中,是iostream类的成员函数。

第二种:在头文件<string>中,是普通函数。

第一种: 在<istream>中的getline()函数有两种重载形式:

istream& getline (char* s, streamsize n );
istream& getline (char* s, streamsize n, char delim );

作用是: 从istream中读取至多n个字符(包含结束标记符)保存在s对应的数组中。即使还没读够n个字符,

如果遇到delim 或 字数达到限制,则读取终止,delim都不会被保存进s对应的数组中。

当第三个参数省略时,系统默认为'\0'

第二种: 在<string>中的getline函数有四种重载形式:

istream& getline (istream& is, string& str, char delim);//istream是In Stream的意思,即输入流。这是C++中用来读取输入的一个类,封装了大部分的常用输入操作,如cin就是该类最常用的一个对象。,&is表示定义一个引用,其名字为is。引用是C++中的一种特殊类型,定义时本身并不会申请内存,而是直接使用初始化变量的内存,相当于该变量的别名。其好处在于,由于不需要申请分配内存,也不会产生构造和析构,提高了运行效率。同时,当引用被修改时,原始变量会被同步修改。 引用作为变量形式出现时,必须在定义时同时赋值,否则编译会出错。 除变量外,引用还常用于函数参数。 istream& getline (istream&& is, string& str, char delim); istream& getline (istream& is, string& str);

istream& getline (istream&& is, string& str); 用法和上第一种类似,但是读取的istream是作为参数is传进函数的。读取的字符串保存在string类型的str中。

函数的变量:

is :表示一个输入流,例如 cin。

str :string类型的引用,用来存储输入流中的流信息。

delim :char类型的变量,所设置的截断字符;在不自定义设置的情况下,遇到’\n’,则终止输入。

Format

Input

Output

Samples



Limitation

1s, 1024KiB for each test case.