小编Osa*_*'ai的帖子

fwrite 4 char数组,会写7而不是4

源代码:

 main(void) {
  unsigned char tmp[5] = {10, 10, 180, 255, 40};
  FILE *ff = fopen("aa.bin", "w");
  fwrite(&tmp, sizeof(char), 5, ff);
}
Run Code Online (Sandbox Code Playgroud)

执行并查看文件aa.bin的Hex内容时,它看起来像这样:

0D 0A 0D 0A B4 FF 28

为什么值10以两个字节(0D 0A)写入,而char类型仅保存1个字节.(0D)是什么意思?

我正在使用G ++编译器(Windows上的MinGW)和cpp11.

c++ windows fwrite

7
推荐指数
1
解决办法
382
查看次数

标签 统计

c++ ×1

fwrite ×1

windows ×1