C语言完美演绎9-22

📅 2026/7/4 17:15:41 👁️ 阅读次数 📝 编程学习
C语言完美演绎9-22

/* 范例:9-22 */

#include <stdio.h>

struct mystruct

{

int i;

char str[10];

};

int main(int argc,char *argv[])

{

FILE *fp1;

struct mystruct s={97,"ABCDEF"};

float a=66.14;

char b='C';

int i;

if ((fp1 = fopen(argv[1], "w")) == NULL)

{

fprintf(stderr, "Cannot open output file.\n");

return 1;

}

fwrite(&s, sizeof(s), 1, fp1); /* 将结构s写入fp1 */

fwrite(&a,sizeof(float),1,fp1); /* 将变量a写入fp1 */

fwrite(&b,sizeof(char),1,fp1); /* 将变量b写入fp1 */

fclose(fp1); /* 关闭文件 */

fp1=fopen(argv[1],"r");

s.i = 0;

s.str[0]='\0';

i=fread(&s,sizeof(s),1,fp1); /* 读取变量s */

printf("i=%d s.i=%d s.str=%s\n",i,s.i,s.str);

fread(&a,sizeof(a),1,fp1); /* 读取变量a */

printf("%5.2f\n",a);

fread(&b,sizeof(b),1,fp1); /* 读取变量b */

printf("%c\n",b);

return 0;

}

程序执行结果:

D:\TC>p9-22 out.txt

i=1 s.i=97 s.str=ABCDEF

66.14

C