简单的cout然后cin允许空格的例子?

时间:2009-04-30 16:25:47

标签: c++ stl

寻找一个正常工作的简单getline示例。

我想在键盘上输入一些内容并将其分配给std :: string,允许使用空格和制表符。分隔符是回车符。

TIA, 伯特

2 个答案:

答案 0 :(得分:5)

#include <string>
#include <iostream>
#include <ostream>

int main() {
  std::string s;
  std::cout << "Enter a line: ";
  std::getline(std::cin, s);
  std::cout << "You typed this: " << s << std::endl;
  return 0;
}

示例运行:

$ ./a.out
Enter a line: foo bar
You typed this: foo bar

答案 1 :(得分:1)

重要提示:使用std :: cin:

之后
cin >> myVar;

不删除尾随换行符。你必须使用getline两次

std::getline(std::cin, myString);
std::getline(std::cin, myString);

如果您之前已从cin中提取过,一次是换行符,一次是实际字符串。还有其他方法可以做到这一点。