Similarly how there was formatted print function for stdio, there are function that could be used with file.
We could apply all the formatting tricks that was used for printf and scanf.
fprintf
int fprintf(FILE *stream, const char *format, ...);
First argument is pointer to FILE. Rest of it is like printf.
Small example to demo, by writing 'a', 10 and "hello" into a file.
#include <stdio.h> #include <errno.h> int main() { FILE *fp; fp = fopen("/tmp/test_file", "w+"); if(fp != NULL) { printf("file opened successfully fp is %p\n", fp); }else { printf("fopen failed with errorno %d\n", errno); } fprintf(fp,"%c%d%s", 'a', 10, "hello"); if(fclose(fp) != EOF) { printf("file closed successfully"); }else { printf("fclose failed with errorno %d\n", errno); } fp = NULL; return 0; }
file opened successfully fp is 0x2337010 file closed successfully # cat /tmp/test_file a10hello
fscanf
int fscanf(FILE *stream, const char *format, ...);
Now lets read those there variable using fscanf.
#include <stdio.h> #include <errno.h> int main() { FILE *fp; char c; int i; char s[100]; fp = fopen("/tmp/test_file", "r"); if(fp != NULL) { printf("file opened successfully fp is %p\n", fp); }else { printf("fopen failed with errorno %d\n", errno); } fscanf(fp, "%c%d%s", &c, &i, s); printf("c is %c, i is %d and s is %s\n", c, i, s); if(fclose(fp) != EOF) { printf("file closed successfully"); }else { printf("fclose failed with errorno %d\n", errno); } fp = NULL; return 0; }
Links
- Next Article -
- Previous Article - C Programming #90: fileio - fopen, fclose, fputc, fgetc, fputs, fgets
- All Article - C Programming
No comments :
Post a Comment