为什么有两个成员函数?

时间:2015-02-17 17:06:17

标签: c++ iostream istream

我正在学习c ++,但是,我无法理解BTW有什么区别:

std::cin.get();

std::cin.getline();

虽然;我知道如何使用它们,但不能理解为什么有两个?  我已经阅读了这个解释:

  

getline读取换行符然后丢弃它;而.get()读取它然后将其留在输入队列中.. !!为什么每个人都做它做的事情?

抱歉英语不好:(

2 个答案:

答案 0 :(得分:-1)

"获得"只检索一个角色," getline"获取所有字符到行终止符。这是主要区别。

答案 1 :(得分:-1)

std::cin.get(),在没有参数的情况下调用时,从输入中读取一个单个字符并将其返回。

std::cin.getline(char* str, std::streamsize count)读取一行输入并将其复制到缓冲区str中,后跟一个额外的空字符以形成C字符串。 count必须是该缓冲区的大小,即它可以复制到其中的最大字符数(加上空字节)。

要在不关心缓冲区大小的情况下阅读一行,最好使用std::getline

#include <string>
std::string line;
std::getline(std::cin, line);

cin读取一行到line

请参阅http://en.cppreference.com/w/cpp/io/basic_istreamhttp://en.cppreference.com/w/cpp/string/basic_string/getline