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...
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)
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
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?
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
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?
you can start here
most of the time, I use fprintf, fscanf, fseek. I believe these are standard C file operations
Thanks again! Have a great day...
Please log in to post a reply.