c++ - 像访问文件流一样访问一 block 内存(/C/C++数组)

标签 c++ c fstream cfstream

有没有办法在 C(或 C++)中做到这一点?

背景信息:我将逐行读取一个内存块或一个大文件并一次处理这些行,我懒得把同样的东西写两次,一次用于内存块,一次用于文件流。如果需要使用文件流版本,那么该文件将无法装入内存。可以理解的是,我可以将内存块保存到文件中,然后使用文件流访问相同的数据,但这似乎是在浪费计算机时间。

我知道 linux 系统上的/dev/shm。有没有更可移植的东西在语言层(C 或 C++)为我提供相同类型的抽象?

最佳答案

在 C 中你可以使用 sprintfsscanf,在 C++ 中有 std::stringstream使用字符串构造的类。因此,您可以使该函数采用 std::istream 作为参数,并根据案例。

关于c++ - 像访问文件流一样访问一 block 内存(/C/C++数组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15503129/

相关文章:

C++。写入相关文件后无法显示内容

c++ - 合并多个 map

c++ - 重载运算符 i/o 问题

c - 就地与分配 API

c++ - C++中如何从文件中读取整数值

c++ - 我们可以减少现有文件的大小吗?

java - 面试问题 - 在排序数组 X 中搜索索引 i 使得 X[i] = i

c++ - 使用有限的 CPU 时间定期执行 pthread

c - 使用 C 从 .DAT 文件读取 char* 类型时出错

c++ - 在 C/C++ 中,在不使用计算 bool 值的情况下使用 bool 运算符短路来控制流程是否安全?