原子求助,急急急急急急!!!!FATFS 为什么用f_write 写数据发现 每次写 开头都多出 三个00 00 00 ????

2019-07-21 04:15发布

问题解决  答案在8楼!


更新:今天又随便  尝试了一下  在创建文件后 立刻  写了一个字符串进去   再存储我想要的数据   发现   就没有 那个多出三个00的问题了。。。。

那么问题来了?这是为什么呢、、、、、、、、


f_mount( 0, &fatfs );


if(f_open(&file,"0:ss.txt",FA_CREATE_ALWAYS | FA_WRITE) == FR_OK)
     { 
              printf("创建文件OK ")
      }
创建文件  已经成功了   接下来写数据
因为我 知道数据大小 每次都是2K字节  sizebuff就是1024*2
res= f_write (&file,buff,sizebuff,(void *)&bytesWritten);
当我写完  关闭文件之后 把U盘 插在电脑上 用16进制编辑器 打开
发现文件每  间隔2K字节 头三个数据  都是  00  00  00  这不是我的数据,莫名其妙产生的
同时导致  我的buff 包里面  最后 三个数据 被挤掉 没写入文件。
以前并没有这个问题的,现在不知道为什么   多了这个问题,求助各路大神
                |文件开头
                |
                |
               /
--------》  00  00  00  57 19 27 .........
               ..............
2K            ...........
               ..........
--------》  00  00  00 ................
                .................

2K

--------》00  00  00..................

2K          ....................

--------》00 00 00.................
           ..................

2K

--------》
00 00 00........................
           .............................



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。