如何实现结构体和文件之间实现读写--fopen文件流读写(fscanf/fprintf)
来源:互联网 发布:域名未授权 编辑:程序博客网 时间:2024/06/11 18:11
如何实现结构体和文件之间实现读写--fopen文件流读写(fscanf/fprintf)
目的:
#1. 把结构体数据写入文件;
#2. 把文件中数据到处到结构体;
用到的函数:
FILE *fopen(const char *path, const char *mode);int fscanf(FILE *stream, const char *format, ...);
int fprintf(FILE *stream, const char *format, ...);
以下是测试函数:
<pre name="code" class="cpp">#include <stdio.h>#include <string.h>FILE *stream;typedef struct test{int a;int b;int c;int d;int e;int f;int g;}STest;FILE *openHistoryFile(const char *path, const char *mode){return fopen(path, mode);}int writeHistoryFile(FILE *stream, STest test){return fprintf(stream,"%d %d %d %d %d %d %d\n", test.a,test.b,test.c,test.d,test.e,test.f,test.g);}int readHistoryFile(FILE *stream, STest *test){return fscanf(stream, "%d %d %d %d %d %d %d", &test->a,&test->b,&test->c,&test->d,&test->e,&test->f,&test->g);}int main(void){STest test = {120, 82, 50, 60, 95, 100, 2};STest readTest = {0}; stream = openHistoryFile("test.txt", "ab+");//memset(&test, 0 , sizeof(STest)); if(stream==NULL){ printf("The file test.txt opened\n");} else {writeHistoryFile(stream, test); fseek(stream,0L,SEEK_SET);memset(&readTest, 0 , sizeof(STest));while(readHistoryFile(stream, &readTest) != EOF){ /*print the data value*/ printf("%d %d %d %d %d %d %d\n",readTest.a,readTest.b,readTest.c,readTest.d,readTest.e,readTest.f,readTest.g);} fclose(stream); } return 0;}
以下是测试结果:
duser@10.1.1.5:~/Desktop/testFunction/open$ gcc fopenRW.cduser@10.1.1.5:~/Desktop/testFunction/open$ ./a.out 120 82 50 60 95 100 2
1 0
- 如何实现结构体和文件之间实现读写--fopen文件流读写(fscanf/fprintf)
- 格式化读写文件fprintf,fscanf
- c语言中文件读写:fscanf & fprintf
- C++文件读写(fprintf + fscanf)
- fprintf(),fscanf()文本读写函数
- C语言中的文件格式化读写函数:fprintf和fscanf
- C语言之文件读写——fscanf(),fprintf()详解
- C语言中的文件格式化读写函数:fprintf和fscanf
- C语言文本格式读写文件流以及定位(fprintf、fscanf、fseek)
- fprintf、fscanf读写乱码的问题
- fprintf、fscanf读写乱码的问题
- 格式化读写函数 , fprintf 写 , fscanf 读
- 格式化读写函数:fscanf和fprintf
- fopen() / fscanf() / fprintf() / fclose()
- fopen, fscanf,fprintf
- 流和文件(文件的读写操作)
- 文件读写和文件指针的移动
- 利用fscanf和fprintf实现文件读取和写入
- 大型网站架构系列:电商网站架构案例(1)
- Test
- 霍夫曼编码与解码
- AsynSocket实现即时通讯
- 百度之星 2016 problem e 输入处理
- 如何实现结构体和文件之间实现读写--fopen文件流读写(fscanf/fprintf)
- 小型大数模拟
- 第十二周项目1-实现复数类中的运算符重载(1)
- Andorid 动画介绍
- 嗅探、中间人sql注入、反编译--例说桌面软件安全性问题
- C++ 默认构造函数深度解析
- 【sql server】解决 com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near '@P0'.
- JniHelper c++调用安卓代码
- 由浅到深的了解block