LocalFileSystem (read)

23 Feb 2011

Hi All... I'm sure this may be a stupid question but I've looked and Looked and cannot seem to find it...

I want to use Local file system to hold configuration information for my program. I understand how to declare (create) and write to a file. I also understand that you cannot simply open a file and change the contents of it... That the file would be overwritten if you want to use the same file name...

In no examples can I see how you read the contents of a file into the mbed?

If I decalred a string variable in the mbed, how would I open the local file and copy it's contents into the string variable?

I was hoping to use the iniparser app (that's really what I want) but I cannot figure out how to make it work...

Thanks in advance...


23 Feb 2011

open the file first

FILE *file = fopen("path", "read_write_append_mode");

count characters in file

for(i=0; 1; i++) if(fgetc(file) == EOF) break;

return file position pointer to start of file

fseek(file, 0, SEEK_SET);

allocate a pointer to hold contents of file

char *out = (char*) malloc(sizeof(char) * i+1); +1 to hold the end of string

copy contents to pointer

fscanf(file, "%s", out);


close file pointer


print content

printf("%s", out);

23 Feb 2011

Thank you for this.... Let me chew on it a bit...

Any more detail on this? "read_write_append_mode";

I know you cam open the file as "r" or "w" but I do not know of append?

How would you append text to a file?

Actually, is there a document of all the file methods that are available?


23 Feb 2011

append basically means writing to the file starting from the end

so if you have something like


opening it in append mode and writing something to it

fprintf(file_pointer, "%s", "_new_content");

the final content is going to be


23 Feb 2011

You've been a great help... To open it in append mode is the code "a"?

And it would be a vbig help if I knew how to look at all the methods available for the file object... Are these C++ standard file methods?


23 Feb 2011

you can start here


most of the time, I use fprintf, fscanf, fseek. I believe these are standard C file operations

23 Feb 2011

Thanks again! Have a great day...

Please log in to post a reply.