getline()与cin.getline()

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;
}


猜你喜欢

转载自blog.csdn.net/qq_41117236/article/details/80600251
今日推荐