KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Why the code below does not work? I mean, it shows all kinds of weird characters on console output. #include <stdio.h> char mybuffer[80]; int main() { FILE * pFile; pFile = fopen ("example.txt","r+"); if (pFile == NULL) perror ("Error opening file"); else { fputs ("test",pFile); fgets (mybuffer,80,pFile); puts (mybuffer); fclose (pFile); return 0; } } However, the code below works well. #include <stdio.h> char mybuffer[80]; int main() { FILE * pFile; pFile = fopen ("example.txt","r+"); if (pFile == NULL) perror ("Error opening file"); else { fputs ("test",pFile); fflush (pFile); fgets (mybuffer,80,pFile); puts (mybuffer); fclose (pFile); return 0; } } Why I need to flush the stream in order to get the correct result?
Tags (comma-separated)
Save Edits
Cancel