关于文件格式和od的C++问题

标签 c++ file-format octal

我有以下简单代码:

ofstream output("test");
output << 'a';

当我对文件进行八进制转储时,我得到了这个:

0000000 000141
0000001

我可以看到 000141(以 8 为基数)是 8 位宽,0000001 可能是 EOF。 全 0 的第一个字节是什么,为什么它在那里?我知道它是 null 是 ascii 但它的目的是什么?

最佳答案

这与 C++ 无关(除了源代码显示我们有一个长度为 1 的文件,其中有一个 'a'),你可能应该标记这个 linux 或 hexdump,因为它看起来我喜欢使用八进制输出的 linux 工具 hd/hexdump 的输出。

查看此 Wikipedia article获取更多信息。

编辑:啊,我错过了问题标题。所以它是od , hd 的八进制“兄弟”。

第一列显示文件偏移量(7 位数字,十六进制),就像 James 所说的那样。如果文件更长,它会更明显。

关于关于文件格式和od的C++问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2897507/

相关文章:

data-structures - 持久表达有向图的最标准文件格式和表示法是什么?

c++ - Code::Blocks "compile switches"在哪里?

c++ - 在我的 Linux C++ 项目中使用 Bullet

c++ - 是否可以让指针指向第一个指针指向的变量?

c++ - 如何使用动态内存分配将十进制转换为八进制?

c++ - 键入 Alt 键时可能会在 char 中解决 "Invalid Octal Digit"

c - 使用八进制表示 ASCII 的目的

c++ - 如果我知道此窗口的句柄,如何将 Ctrl + P 发送到窗口?

python - python列表列表的用户可读文件格式

vim - 在 Vim 中打开 mac 格式文件的命令行选项