在c++中,标准输入string时cin 与getline两个函数之间的区别

cin:

  cin函数是标准库的输入函数,在读取string时遵循以下规则:

1)读取并忽略开头所有的空白符(包括空格、换行符、制表符)。

2)读取字符直到遇到空白符,读取终止。

例如:

      当输入的是“    你好  朋友”,输出仅为“你好”。

getline:

  getline函数接受两个参数:一个为输入流的对象,一个为string对象。

getline函数从输入流的下一行进行读取,并保存内容到string对象中,和cin

不同的是,它不会忽略开头的空白符,并且它会读取这一行所有的内容直到遇

到换行符为止。

ps: getline函数有一个缺陷,就是一旦遇到换行符就会立马停止读取。

例如:

     #include "stdafx.h"
  #include<iostream>
  #include<string>
  using namespace std;
  int _tmain(int argc, _TCHAR* argv[])
  {
      string line;
      cin >> line;
      cout << line;
      string line1;
      getline(cin, line1);
      cout << line1;
      while (1){}
      return 0;
  }

运行上一段代码,你就会理解getline函数一些要注意的地方。

 

posted @ 2016-04-27 12:51  知识的追逐者  阅读(449)  评论(0)    收藏  举报