用了那么久的c++,都没有深入去学习一下c++的标准输入流(cin),标准输出流的(cout)的用法,一般只是简单的使用去获取一个字符串或者几个整型输入。但是发现如果遇到了比较复杂的输入,这简单的三板斧就不够用了,需要考虑空白符(空格,tab,换行符等)的影响。而c++又提供了cin.get,cin.getline,std::getline,等不同的类方法和全局函数,没深入的了解的咋一看就有点晕,这几个函数到底有啥区别?又有哪些坑?
首先可以推荐一下参考这篇博文,说的也比较详细了:(30条消息) std::cin使用_mayue_csdn的博客-CSDN博客
下面是我自己的一些补充。
1、可以利用cin.peek()函数判断是否结束输入
例如这样的场景,需要输入多行,第一行为多个整型数据,直到遇到换行结束,需要存入一个vector中
vector<int> numbers;
while (std::cin >> number) {
numbers.push_back(number);
if (std::cin.peek() =