LocalFileSystem (read)
Topic last updated
23 Feb 2011, by
Timothy Stone.
6 replies
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...
Tim
Replies
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);
wait(0.5);
close file pointer
fclose(file);
print content
printf("%s", out);
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
old_file_content
opening it in append mode and writing something to it
fprintf(file_pointer, "%s", "_new_content");
the final content is going to be
old_file_content_new_content
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?
--
Thanks again! Have a great day...
Please log in to post a reply.
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...
Tim