数据文件——之将结构写入二进制文件
作者:互联网
代码:
1 //This is c program code! 2 /* *=+=+=+=+* *** *=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= 3 * 文档信息: *** :~/WORKM/stutyCode/cCode/recipesProblemSolution/chapter06/test6_12.c 4 * 版权声明: *** :(魎魍魅魑)MIT 5 * 联络信箱: *** :guochaoxxl@163.com 6 * 创建时间: *** :2020年11月21日的下午04:25 7 * 文档用途: *** :数据结构与算法分析-c语言描述 8 * 作者信息: *** :guochaoxxl(http://cnblogs.com/guochaoxxl) 9 * 修订时间: *** *2020年第46周 11月21日 星期六 下午05:03 (326天) 10 * 文件描述: *** :自行添加 11 * *+=+=+=+=* *** *+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+*/ 12 #include <stdio.h> 13 14 typedef struct _bio{ 15 char name[15]; 16 int rollNo; 17 int age; 18 float weight; 19 } Bio; 20 21 void closeState(int clo, FILE *fPtr){ 22 clo = fclose(fPtr); 23 if(clo == -1){ 24 puts("File-closing failed!"); 25 } 26 if(clo == 0){ 27 puts("File is closed successfully."); 28 } 29 30 return; 31 } 32 33 int main(int argc, char **argv) 34 { 35 char flag = 'y'; 36 FILE *fPtr = fopen("agentsb.dat", "wb"); 37 if(fPtr != NULL){ 38 printf("File agentsb.dat is opened successfully.\n"); 39 Bio bio; 40 while(flag == 'y'){ 41 printf("Enter name, rooNo, age and weight of agent: "); 42 scanf("%s %d %d %f", bio.name, &bio.rollNo, &bio.age, &bio.weight); 43 fwrite(&bio, sizeof(bio), 1, fPtr); 44 int tmp = getchar(); 45 //fflush(stdin); 46 printf("Any more records(y/n): "); 47 scanf("%c", &flag); 48 } 49 int clo = fclose(fPtr); 50 closeState(clo, fPtr); 51 }else{ 52 puts("File-open failed!"); 53 } 54 55 return 0; 56 }
标签:fPtr,bio,clo,数据文件,二进制,写入,int,File,21 来源: https://www.cnblogs.com/guochaoxxl/p/14054185.html