c++ - std::cin.getline() 与 std::cin

标签 c++ getline cin

什么时候应该使用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/

相关文章:

c++ - Cplusplus cin split

C++ cin 在没有我告诉它这样做的情况下打印变量

c++ - 套接字编程中非法查找的可能原因

C++ 生成器 10.2 : Thread blocks WaitForInputIdle

c++ - 如何在 C++ 中用 ifstream 读取替换字符? (ASCII 中的 SUB)

c++ - 读取文件并将行拆分为单个变量

c++ - 如何在 C++ 中执行文件搜索

c++ - 没有映射值分配给键时调用 operator [] 的行为

C++ getline() 跳过空字符串

c++ - Cin 没有读取我的输入