1

在 C++ 中,我们如何读取用户输入的长度未知的字符串(可能包括空白和很长)?getline 似乎需要知道最大长度。怎么做?

4

1 回答 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 回答