在 C++ 中,我们如何读取用户输入的长度未知的字符串(可能包括空白和很长)?getline 似乎需要知道最大长度。怎么做?
问问题
3938 次
1 回答
6
cin.getline
需要知道缓冲区的大小,因为它存储到char *
. 但是,您可以使用std::getline
,它存储到 astring
中并且可以读取任意数量的文本。
例子:
#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;
}
于 2013-09-08T01:25:26.727 回答