日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

33. 使用fread()/fwrite()往文件中写入结构体,从文件中读出结构体

發(fā)布時(shí)間:2023/11/27 生活经验 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 33. 使用fread()/fwrite()往文件中写入结构体,从文件中读出结构体 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
  1 //讀寫結(jié)構(gòu)體
  2 #include <stdio.h>
  3 typedef struct student
  4 {
  5     int num;
  6     char name[30];
  7     char sex;
  8     float math;
  9     float english;
 10     float chinese;
 11 
 12 }Stu;
 13 
 14 Stu s[5] =
 15 {
 16     1001,"wukong",'x',99,99,99,
 17     1002,"songjiang",'x',99,22,11,
 18     1003,"baoyu",'x',79,33,100,
 19     1004,"liudehua",'y',100,100,88,
 20     1005,"zhaosi",'z',33,34,12
 21 };
 22 
 23 int main(void)
 24 {
 25 
 26     //往文件中寫入結(jié)構(gòu)體
 27     FILE* pf = fopen("G:/qtcode/stu.data","w+");
 28     if(pf == NULL)
 29         exit(-1);
 30 #if 1
 31     //寫入方式1
 32     int i;
 33     for(i = 0;i<sizeof(s)/sizeof(*s);i++)
 34     {
 35         fwrite((void*)(&s[i]),sizeof(Stu),1,pf);
 36     }
 37 #endif
 38 #if 0
 39     //寫入方式2
 40     fwrite((void*)s,sizeof(s),1,pf);
 41 
 42 #endif
 43 #if 0
 44     //寫入方式3
 45     fwrite((void*)s,sizeof(Stu),5,pf);
 46 
 47 #endif
 48 
 49 
 50 
 51     rewind(pf);
 52     //從文件中讀結(jié)構(gòu)體
 53 #if 0
 54     //讀出方式1
 55     Stu buf;
 56     while( fread((void*)&buf,sizeof(Stu),1,pf) )
 57     {
 58         printf("num = %d\n",buf.num);
 59         printf("name = %s\n",buf.name);
 60         printf("sex = %c\n",buf.sex);
 61         printf("math = %.2f\n",buf.math);
 62         printf("english = %.2f\n",buf.english);
 63         printf("chinese = %.2f\n",buf.chinese);
 64         printf("--------------\n");
 65     }
 66 #endif
 67 
 68 #if 0
 69     //讀出方式2
 70     Stu buf[3];
 71     int j,n;
 72     while((n = fread((void*)buf,sizeof(Stu),3,pf)) > 0)
 73     {
 74         for(j = 0;j < n;j++)
 75         {
 76             printf("num = %d\n",buf[j].num);
 77             printf("name = %s\n",buf[j].name);
 78             printf("sex = %c\n",buf[j].sex);
 79             printf("math = %.2f\n",buf[j].math);
 80             printf("english = %.2f\n",buf[j].english);
 81             printf("chinese = %.2f\n",buf[j].chinese);
 82             printf("--------------\n");
 83         }
 84     }
 85 #endif
 86     
 87 #if 0
 88     //讀出方式3
 89     Stu buf[5];
 90     int j;
 91     fread((void*)buf,sizeof(Stu),5,pf);
 92     for(j = 0;j < 5;j++)
 93     {
 94         printf("num = %d\n",buf[j].num);
 95         printf("name = %s\n",buf[j].name);
 96         printf("sex = %c\n",buf[j].sex);
 97         printf("math = %.2f\n",buf[j].math);
 98         printf("english = %.2f\n",buf[j].english);
 99         printf("chinese = %.2f\n",buf[j].chinese);
100         printf("--------------\n");
101     }
102 #endif
103     return 0;
104 }

?

轉(zhuǎn)載于:https://www.cnblogs.com/ZhuLuoJiGongYuan/p/9482257.html

總結(jié)

以上是生活随笔為你收集整理的33. 使用fread()/fwrite()往文件中写入结构体,从文件中读出结构体的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。