fwrite()c函数用于写入额外字节
我正在使用eclipse for c版本:2020-03 4.15.0构建id:20200313-1211和MinGW版本0.6.3-pre-20170905-1 过去几周我一直在玩fwrite,主要是创建BMP文件,没有任何奇怪的问题 现在发生了一件非常奇怪的事情,我一点也不理解:生成的文件有2个额外的字节,因此图像已损坏,无法显示 我已经读取了fwrite返回的值,该值等于两种情况下写入384的大小 我已经检查了给fwrite和内部文件*->\u base的指针的数据,它们都指向具有正确内容的地址,但与生成的文件不同。 当删除这2个字节时,图像是完全可读的,我使用软件HxD 这是生成的文件,2个字节是两个0A 00 00之前的0D,宽度和高度是这些额外的字节,我不知道它们来自何处,因为它们位于何处,它们偏移了所有其他BMP头信息并损坏了图像 BMP一点也不新奇,只是一个10x10px的正方形,带有灰度梯度fwrite()c函数用于写入额外字节,c,eclipse,mingw,fwrite,bmp,C,Eclipse,Mingw,Fwrite,Bmp,我正在使用eclipse for c版本:2020-03 4.15.0构建id:20200313-1211和MinGW版本0.6.3-pre-20170905-1 过去几周我一直在玩fwrite,主要是创建BMP文件,没有任何奇怪的问题 现在发生了一件非常奇怪的事情,我一点也不理解:生成的文件有2个额外的字节,因此图像已损坏,无法显示 我已经读取了fwrite返回的值,该值等于两种情况下写入384的大小 我已经检查了给fwrite和内部文件*->\u base的指针的数据,它们都指向具有正确内容
提前谢谢 哇,谢谢大家的快速回答 事实上,问题已转化为\r\n问题。创建文件作为二进制fopen,wb已经解决了这个问题 谢谢tkausl和Johnny Mopp!
谢谢大家,你们是了不起的人 以二进制模式打开文件。显示您认为与问题相关的代码的相关部分。