奇怪的 0x0D 被添加到我的二进制文件中

2024-04-30

我有这个奇怪的问题:

我将 16 个字符写入一个二进制文件,然后写入 3 个整数,但是当我使用某些二进制文件查看器打开文件时,我看到添加了一个额外的字节(等于0x0D).

这是我的代码:

for(i = 0; i < 16; i++)
{
    if(i < strlen(inputStr))
    {
        myCharBuf[0] = inputStr[i];
    }
    else
    {
        myCharBuf[0] = 0;
    }

    fwrite(myCharBuf, sizeof(char), 1, myFile);
}

myIntBuf[0] = inputNumber1;

fwrite(myIntBuf, sizeof(int), 1 ,myFile);

myIntBuf[0] = inputNumber2;

fwrite(myIntBuf, sizeof(int), 1 ,myFile);

myIntBuf[0] = inputNumber3;

fwrite(myIntBuf, sizeof(int), 1 ,myFile);

我得到以下字节值:

61 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0D 0A00 00 00 05 00 00 00 08 00 00 00

当我期望时:

61 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0A00 00 00 05 00 00 00 08 00 00 00

有谁知道为什么会发生这种情况?


0A 是换行符,0D 是回车符。这些通常与文本模式相关。

您是否以二进制模式打开了该文件? (例如。fopen("foo.txt", "wb"))

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

奇怪的 0x0D 被添加到我的二进制文件中 的相关文章

随机推荐