
另冲樱外一个可能是你不仔悔小心设置了文件为隐藏,不过可能性很小,除非你调用文件系统函数主动更改过文件属性
FatFS写文件的一般步骤是:
使用f_open函数打开文件,f_lseek函数将文件指针移动到文件尾(可选),f_write文件进行写,f_close关闭并将缓存数据(如果有的话)写入SD卡
res = f_open(&fsrc,"test.txt",FA_OPEN_ALWAYS | FA_READ | FA_WRITE )//没有这个芦如文件则创建该文件printf("\r\n"简陵)
if(res!=FR_OK)
{
while(1)
}
res = f_lseek(&fsrc,25)//读写指针从文件开始处向后偏移24字节
if(res==FR_OK)
printf("读写位置偏移 *** 作成功\r\n")
else
printf("读写位置偏移 *** 作失败\r\n")
printf("\r\n")
i = 0
res = f_write(&fsrc,send_buffer,100,&i)//向/test1/test.c文件中写入1024字节数据拦哗戚
if(res==FR_OK)
printf("成功写入数据:%dBytes\r\n",i)
else
printf("写入数据失败~~~~(>_<)~~~~ \r\n")
if(i<24)
printf("存储器已满\r\n")
printf("\r\n\n")
f_close(&fsrc)//关闭文件 */
write原型为 int write(int handle, void *buf, int nbyte)fwrite原型为size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream)参数void*的为你要写入的内容,如果你的整形为unsigned short int num = 23调用wirte函数的时传参数兆告咐 为:write(handle , &num, sizeof(unsigned short int))用fwrite也差不多分析1、你写进去文族纯件的num是直接将的地址所存放的数据写进文件的,不是把他格式化成字符串之后写进文件的2、如此一来,你用问本编辑器打开文件,看到的是num的ASCII码值,就像35看到的是#,36看到的友滚是$解决,sprintf格式化成字符串,然后将字符串写进文件。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)