登 录
/* * 2-4.c * * Created on: 2010-12-30 * Author: jinyong * 块数据I/O操作 */ #include <stdio.h> #include <string.h> #define number 3 struct test { char name[20]; int pay; }s[number]; int main(void) { FILE *fp; strcpy(s[0].name,"张三"); s[0].pay = 200; strcpy(s[1].name,"李四"); s[1].pay = 500; strcpy(s[2].name,"王五"); s[2].pay = 12345; fp = fopen("test-3","a+"); fwrite(s, sizeof(struct test), number, fp); /** * size_t fwrite(const void *ptr, size_t size, size_t number, FILE *stream); * 将数据写入文件流 * ptr:欲写入的数据首地址 * size:字符串长度 * number:字符串数目 * stream:一个文件流 * 成功返回写入的number数目 * 失败返回EOF */ fclose(fp); return 0; }
/* * 2-5.c * * Created on: 2010-12-30 * Author: jinyong */ #include <stdio.h> #define number 3 struct test { char name[20]; int pay; }s[number]; int main(void) { FILE *fp; int i; fp = fopen("test-3","r"); fread(s, sizeof(struct test), number, fp); /** * size_t fread(void *ptr, size_t size, size_t number,FILE *stream) * ptr 欲写入的数据地址(将读到的数据写入到ptr地址) * size 字符串长度 * number 块数目 * stream 文件流 * 成功返回读取到的number数目 * 失败返回EOF */ fclose(fp); for(i=0;i<number;i++) printf("帐号[%d]:%-20s 余额[%d]:%d/n", i, s[i].name, i, s[i].pay); return 0; }
抱歉!评论已关闭.