读取未知长度的输入字符串

时间:2013-09-08 01:19:26

标签: c++ string

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

1 个答案:

答案 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;
}