在c ++中,我们如何读取用户输入的长度未知(可能包括空白,非常长)的字符串? getline似乎需要知道最大长度。 怎么做?
答案 0 :(得分:6)
cin.getline
需要知道缓冲区的大小,因为它存储在char *
中。但是,您可以使用std::getline
存储到string
中,并且可以读取任意数量的文本。
示例:
#include <string>
#include <iostream>
int main() {
std::string line;
std::cout << "Enter something: " << std::endl;
std::getline(std::cin, line);
std::cout << "You typed " << line << std::endl;
}