Hello,
I'm wondering if it's possible, and if so if someone has an example, to overwrite a portion of a file using the RL-FlashFS library.
Basically I have a working setup and I have a small file system on NOR flash. I have a fixed size file and I want to overwrite a middle section of this file.
If I try something like:
if(f = fopen("my_test_file", "a")) { int j = 38; rewind(f); fseek(f, header.head_index-1 * (4 * sizeof(uint32_t)), SEEK_SET); fwrite(&j, sizeof(uint32_t), 1, f); fwrite(&j, sizeof(uint32_t), 1, f); fwrite(&j, sizeof(uint32_t), 1, f); fwrite(&j, sizeof(uint32_t), 1, f); fseek (f, -1L, SEEK_END); fclose(f); }
The rewind doesn't seem to do anything and it just appends the 4 ints to the end of the file.
Any ideas? Am I doing something wrong?
Thanks.
M
It is very difficult to say - nothing of your program/expectations is really explained, but are you sure about this code
...head_index-1 * (4 *,...
Maybe you are missing brackets here?