Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/140.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
读取长度未知的字符串中的类型 在C++中,如何读取一个不知道长度的字符串,可能包括空白,并且长的是由用户键入的? getline似乎需要知道最大长度。 如何操作?_C++_String - Fatal编程技术网

读取长度未知的字符串中的类型 在C++中,如何读取一个不知道长度的字符串,可能包括空白,并且长的是由用户键入的? getline似乎需要知道最大长度。 如何操作?

读取长度未知的字符串中的类型 在C++中,如何读取一个不知道长度的字符串,可能包括空白,并且长的是由用户键入的? getline似乎需要知道最大长度。 如何操作?,c++,string,C++,String,cin.getline需要知道缓冲区的大小,因为它存储在char*中。但是,您可以使用,它存储在字符串中,可以读取任意数量的文本 例如: #include <string> #include <iostream> int main() { std::string line; std::cout << "Enter something: " << std::endl; std::getline(std::cin, line)

cin.getline需要知道缓冲区的大小,因为它存储在char*中。但是,您可以使用,它存储在字符串中,可以读取任意数量的文本

例如:

#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;
}
cin.getline需要知道缓冲区的大小,因为它存储在char*中。但是,您可以使用,它存储在字符串中,可以读取任意数量的文本

例如:

#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;
}

您将输入长度与用于存储它的缓冲区大小混淆了输入长度与用于存储它的缓冲区大小混淆了