c++ - 等效于 C++ iostream 的 StreamReader.ReadToEnd()

标签 c++ iostream

是否有任何简单的方法可以使用 C++ STL iostream 将小型文本文件中的所有文本读取到 std::string 中?

我试过类似的东西

ifstream f("file.txt");
stringstream ss;

while(!f.eof()){
    array<char, READ_SIZE> buf;
    auto size = f.rdbuf()->sreadn(buf.data(), buf.size());
    if(size==0)break;
    ss<<string(buf.data(), size);
}

string str=ss.str();

有什么更好的方法吗?

最佳答案

ifstream f("file.txt");
ostringstream ss;
ss << f.rdbuf();

string str = ss.str();

关于c++ - 等效于 C++ iostream 的 StreamReader.ReadToEnd(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8060287/

相关文章:

C++ System V 信号量 : Multiple server processes, 一个客户端进程

C++类变量声明和使用顺序?

c++ - 使用临时字符串构建 istringstream

c++ - 有没有办法一次性设置每个字段的宽度,而不是每次都使用 streamio 设置?

java - 为什么当 I/O 缓冲区变空时会调用 native API?

c++ - 代码块中不包含 iostream 库

参数数量未知的 C++ 函数指针

c# - XSD 模式到 COM 接口(interface)

c++ - C++中的 bool 表达式(语法)解析器

c++ - 自定义流对象错误?