《UNIX环境高级编程》笔记--读和写流
一旦打开了流,则可以对流进行读写:每次一个字符,每次一行,二进制。
1.每次一个字符使用下面三个函数用于一次读一个字符。#include <stdio.h>typedef struct{ int a; char b;}myst;int main(void){ int result = 0; FILE* fp; myst st1,st2; st1.a = 1; st1.b = 'a'; if((fp = fopen("bfile","wb+")) == NULL){ result = -1; perror("fopen"); goto FINALLY; } if(fwrite(&st1, sizeof(myst), 1, fp) < 0){ result = -1; perror("fwrite"); goto FINALLY; } fclose(fp); if((fp = fopen("bfile","rb+")) == NULL){ result = -1; perror("fopen"); goto FINALLY; } if(fread(&st2, sizeof(myst), 1, fp) < 0){ result = -1; perror("fread"); goto FINALLY; } printf("st2.a=%d\n",st2.a); printf("st2.b=%c\n",st2.b);FINALLY: if(fp != NULL){ fclose(fp); } return result;}运行结果:yan@yan-vm:~/apue$ ./a.out