C++:解析一个 132x65 的二进制文件

标签 c++ parsing binary

所以这是我必须/必须做的。我有一个包含 132x72 大图片的 .txt 文件。我需要做的是将其放入十六进制值的 c 数组中。

我需要找到一种方法来获取前 8 行的第一个字符并将它们水平放在一起,这样我就可以将它们转换为十六进制。然后我需要重复 9 次。

例子:

00000
00000
11111
01010
10101
10101
01010
10101

我需要变成:

00101101
00110010
00101101
00110010
00101101

最好/最简单的方法是什么?老实说,我不知道从哪里开始。

最佳答案

假设 .txt 文件中的 1 和 0 是字符(如果它是二进制的,那么您需要先转换它们):只需将文件逐行读取到数组中。然后,您可以大步打印数组,i。 e.首先打印字符 0, 8, 16, 24 ... 然后是 1, 9, 17, ... 等等:

for (i = 0; i < ROWS; i++) {
    for (j = 0; j < COLS; j++) {
        printf("%c", chars[i + j * ROWS]);
    }
    printf("\n");
}

类似的东西。

关于C++:解析一个 132x65 的二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10233487/

相关文章:

javascript - 如何在不使用 XmlService 的情况下解析 Google Apps 脚本中的 HTML 字符串?

c++ - 如何将uint32_t数字转换为char [8]?

c - 从C中的二进制文件读取一行 float

c++ - 重载指向模板的成员函数指针

c++ - 如何为 C 脚本配置 lighttpd 和 fcgi?

Ruby:配置文件解析器与OptionParser结合

parsing - 安特尔 4 : Method for switching modes in parser

c++ - 如何在 C++ 中分析位图文件?

c++ - "uFlags &= ~CHN_PANNING"命令有什么作用?

python - 从大型二进制文件中读取数据的任何有效方法?