什么时候应该使用std::cin.getline()
?它与 std::cin
有什么不同?
最佳答案
我们来看看 std::cin.getline()
分开。首先,有std::
.这是标准库所在的命名空间。它有数百种类型、功能和对象。
std::cin
就是这样一个对象。它是标准字符输入对象,在 <iostream>
中定义.它有自己的一些方法,但您也可以将它与许多免费功能一起使用。这些方法和函数中的大多数都是从标准输入中获取一个或多个字符的方法。
最后,.getline()
是 std::cin
的一种方法(和其他类似的对象)。你告诉它应该从左侧的对象中获取多少个字符(此处为 std::cin
),以及将这些字符放在哪里。确切的字符数可能不同:.getline()
将在三种情况下停止:
1. 到达行尾
2. 输入中没有剩余字符(在 std::cin
上通常不会发生,因为您可以继续输入)
3.读取最大字符数。
还有其他方法和函数可以与 std::cin
一起使用对象,例如
std::string s;
int i;
std::cin >> s; // Read a single word from std::cin
std::cin >> i; // Read a single number from std::cin
std::getline(std::cin, s); // Read an entire line (up to \n) from std::cin
std::cin.ignore(100); // Ignore the next 100 characters of std::cin
关于c++ - std::cin.getline() 与 std::cin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4745858/