getline()
头文件:#include<string>
istream& getline ( istream &is , string &str , char delim );
istream &is表示一个输入流,string &str表示读入到这个变量,char delim表示遇此字符停止读入。
默认遇回车停止读入,示例如下
#include<string> #include<iostream> #include<cstdio> using namespace std; int main() { string line; cout<<"please cin a line:"; getchar(); getline(cin,line); cout<<"The line you give is:\n"<<line<<endl; }
若设置为遇字符‘#’停止输入,如下
#include<string> #include<iostream> using namespace std; int main() { string line; cout<<"please cin a line:"; getline(cin,line,'#'); cout<<"The line you give is:"<<line<<endl; }
cin.getline()
头文件:#include<string>
cin.getline(字符指针(char*),字符个数N(int),结束符(char));
此函数会一次读取多个字符(包括空白字符)。它以指定的地址为存放第一个读取的字符的位置,依次向后存放读取的字符,直到读满N-1个,或者遇到指定的结束符为止。若不指定结束符,则默认结束符为'\n'。
#include<string> #include<iostream> #include<cstdio> using namespace std; int main() { char a[30]; cout<<"please cin a line:\n"; cin.getline(a,10); //第10位存放字符串结束符'\0' cout<<a<<endl; return 0; }