c++ - 如何在 C++ 中管理位/二进制文件?

标签 c++ text input char boolean

我需要做的是打开一个包含 0 和 1 的文本文件,以查找文件中各列之间的模式。

所以我的第一个想法是将每一列解析为一个大的 bool 数组,然后在列之间(现在在数组中)执行逻辑。直到我发现 bool 的大小实际上是一个字节而不是一点,所以我会浪费 1/8 的内存,将每个值分配给一个 bool。

它是否与 800x800 值的网格相关?处理这个问题的最佳方法是什么? 如果答案很复杂,我将不胜感激

最佳答案

你可以使用 std::bitset或提升 dynamic_bitset它提供了不同的方法来帮助您管理位。

例如,它们支持从其他默认类型(如 int 或 char)创建位集的构造函数。您还可以将 bitset 导出到 ulong 或字符串中(然后可以再次将其转换为 bitset 等)

我曾经问过如何连接这些,这在性能上是不可能做到的。但也许您可以使用 question 中的信息也是。

关于c++ - 如何在 C++ 中管理位/二进制文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3974622/

相关文章:

css - 使用 CSS 设置 Safari 输入文件样式?

c++ - stringstream初始化错误

C++ 编译器错误 C2371 - WCHAR 的重新定义

c++ - C++ Builder XE8 上的 TEdit 输入验证

javascript - 如何使用Javascript检查文本是否被CSS chop

javascript - 如何获取输入数字字段中的小数以注册其值?

c++ - 计算嵌套 For 循环的值时遇到问题

javascript - 从列表选项生成文本字段

css - 如何防止移动浏览器调整文本大小

java - Java中while循环的顺序