如何在C/C++中存储可变长度字符串

the*_*ser -1 c c++

可能重复:
在c ++中将文件粘贴到std :: string的最佳方法是什么?

我试图将整个文本文件存储为字符串,如何动态存储文本文件可能包含的任何数量的字符?

Jos*_*eld 6

C++标准库提供std::string动态大小的字符串的类型.它是一个typedef std::basic_string<char>.在cppreference.com上有一个有用的参考.

要将文件中的行读入a std::string,请查看std::getline.您可以使用它从文件中获取一行,如下所示:

std::string str;
std::getline(file_stream, str);
Run Code Online (Sandbox Code Playgroud)

一定要检查流(它返回std::getline),看看是否一切正常.这通常是在一个循环中完成的:

while (std::getline(file_stream, str)) {
  // Use str
}
Run Code Online (Sandbox Code Playgroud)