硬汉嵌入式论坛

 找回密码
 立即注册
查看: 2729|回复: 3
收起左侧

[RL-FlashFS] fwrite写数据的时候能写到文件的具体位置吗?

[复制链接]

3

主题

5

回帖

14

积分

新手上路

积分
14
发表于 2017-7-20 10:49:38 | 显示全部楼层 |阅读模式
现在RL_FlashFS挂载nand flash ,创建了一个Init的文件,想在文件的开头前4个字节留出来另做他用,然后用

                    fseek(l_file,4, SEEK_SET);
                    fwrite("1234",sizeof(unsigned char),4,l_file);
                    fflush(l_file);
                    fclose(l_file);
这段代码写入数据
但是我用

                    fseek(l_file, 0, SEEK_SET);
                    fread(f_data,sizeof(unsigned char),3,l_file);
                    fflush(l_file);
                    fclose(l_file);
这段代码读前三个字节的数据,读出来的是123,
也就是说写进去的数据时文件开头开始写的,没有空四个字节,请问下是不是因为不能直接写入到具体位置呢?但是用fread读的时候是可以从第几个字节开始读的
-我很菜
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2017-7-20 12:01:57 | 显示全部楼层
刚创建的文件,不能随意指定位置写。
只能从开头写,即使是我们电脑的word,记事本也做不到,如果前面是空格,空格也是字符,要占用空间的。
回复

使用道具 举报

3

主题

5

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2017-7-20 17:26:04 | 显示全部楼层
那如果在有内容的文件里更改某一位置的数据该怎么写?
-我很菜
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2017-7-20 17:34:38 | 显示全部楼层

回 梨落繁华心 的帖子

梨落繁华心:那如果在有内容的文件里更改某一位置的数据该怎么写?
(2017-07-20 17:26)
你试试这个,看看是否满足你的应用:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=11814
QQ截图20170720173132.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-29 04:36 , Processed in 0.166221 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表