C++ cin.get及cin.getline的用法

C++中常用的输入有cin和scanf,但是它们的是以空白字符(空格符,回车符,制表符)作为分割字符的,如果涉及到整行的输入模式就不能在考虑cin和scanf了。

1.  cin.get()

从指定的输入流中提取一个字符,函数返回值是该字符。读取失败会返回EOF

int main()
{
   char c;
   while(c=cin.get()!=EOF)    //或者while(cin.get(c))
      cout.put(c);
   return 0;
}

2.  cin.getline(字符数组或指针,字符个数n,终止字符)

读取n-1个字符,在读取完之前若遇到终止字符则停止读取。如果在终止字符前输入流中字符数超过n-1个,那么只会读取前n-1个字符,如果是在while循环中超出字符个数则会停止输入跳出循环。

int main()
{
   char c[50];
   while(cin.getline(c,51,'\n'))  //不断读取一整行
     cout<<c<<endl;
   return 0;
}

3.  getline()

getline是string类的函数,可以用来接收一串包含空格的字符串

int main()
{
   string s;
   getline(cin,s);
   cout<<s<<endl;
   return 0;
}

猜你喜欢

转载自blog.csdn.net/slience_646898/article/details/82286597
今日推荐