2024年4月20日发(作者:)

getline(cin,s)函数用法

Getline函数:从标准输入流cin中提取字符串。

getline(cin,s) 函数用法

getline(cin,s) 是一个I/O (输入/输出) 函数,主要用来从I/O流的输入缓冲中读取一

行字符,并将其存入C语言字符串s中。这常用于C/C++ 编程中,它产生的主要作用是

把用户输入的字符以字符串形式来存储,这样就可以对其进行各种操作,例如字符串处理,

字符串比较等操作。

一、用法:

1、函数原型:getline(istream& is, string str)。

2、istream& is 为输入流,一般为cin;

3、string str 为存储用户输入的字符串;

4、读取结束符:当用户输入回车(新行符,'n')时才会结束;

5、字符串中包括回车符(注意,这一点和cin是不同的)

二、应用实例:

1、提示用户输入,并存入字符串中

//一般提示用户,存入字符串s中

string s;

cout << "please input something:" << endl;

getline(cin,s);

2、从任意流(如文件流、stringstream)读取字符串

//从文件流fin中读取信息,存入字符串s中

ifstream fin;

("");

if(_open()){

string s;

getline(fin,s); //从fin读取一行字符赋值给s

cout << s << endl;

();

}

else

cout << "open file failed!" << endl;

三、注意事项:

1、getline可以读取任意符号,包括空格以及标点符号;

2、当第二个参数设定为'n'(新行符)时,即从缓冲读取一行字符(包括空格以及标

点符号)时,和使用getline的效果相同;

3、当缓冲的第一个字符就是新行符时,getline会返回一个长度为零的字符串;

4、使用非交互式(non interactive) 的缓冲,getline总是可以读取出一行字符,不

管前面的缓冲中有没有换行符;

上述就是getline(cin,s)函数的用法,主要用于从输入缓冲中读取一行字符,存入字

符串中,并对用户输入的字符进行字符串处理,字符串比较等操作。为了能够更好的利用

getline函数,用户必须牢记上述所提示的注意事项。