Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
fwrite()c函数用于写入额外字节_C_Eclipse_Mingw_Fwrite_Bmp - Fatal编程技术网

fwrite()c函数用于写入额外字节

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的指针的数据,它们都指向具有正确内容

我正在使用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的正方形,带有灰度梯度


提前谢谢

哇,谢谢大家的快速回答

事实上,问题已转化为\r\n问题。创建文件作为二进制fopen,wb已经解决了这个问题

谢谢tkausl和Johnny Mopp!
谢谢大家,你们是了不起的人

以二进制模式打开文件。显示您认为与问题相关的代码的相关部分。