寻找一个正常工作的简单getline示例。
我想在键盘上输入一些内容并将其分配给std :: string,允许使用空格和制表符。分隔符是回车符。
TIA, 伯特
答案 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中提取过,一次是换行符,一次是实际字符串。还有其他方法可以做到这一点。