fread、fwrite、fprintf、fscanf

size_t fwrite (const void* buffer, size_t size, size_t count, FILE* stream)

注意:这个函数以二进制形式对文件进行操作,不局限于文本文件
(1)buffer:是一个指针,对fwrite来说,是要获取数据的地址;
(2)size:要写入的每个数据项的字节数;
(3)count:要写入size字节的数据项的个数;
(4)stream:目标文件指针;
(5)返回实际写入文件的数据项个数,不等于count则可能发生错误。

eg.

struct Student
{
int no;
char name[20];
};

FILE *fp;
fp = fopen("dat.txt","w"));
Student stu;
stu.no = 1;
stu.name = "zhangsan";
fwrite(&stu, sizeof(Student), 1, fp);// 应返回1
fclose(fp);


size_t  fread ( void * buffer, size_t  size, size_t  count, FILE * stream) ;
(1)buffer:是一个指针,是用于接收数据的内存地址;
(2)size:要读出的每个数据项的字节数;
(3)count:要读出的size字节的数据项的个数;
(4)stream:目标文件指针;
(5)返回从文件实际读出的数据项个数,不等于count则可能发生错误。

eg.

FILE *fp;
fp = fopen("dat.txt","w"));
int data[10];
fread(buf, sizeof(int), 10, stream);
fclose(fp);

int fprintf (FILE* stream, constchar* format, [argument])
(1)stream:文件指针;
(2)format:输出格式;
(3)[argument]:输入列表;
(4)返回写入文件的字符数,发生错误时返回负数

eg.

FILE *fp;
fp = fopen("dat.txt", "w"));
int i = 0, j = 0;
fprintf(fp, "%d %d\n", i, j);
fclose(fp);


int fscanf(FILE* stream,constchar* format,[argument...])
(1)stream:文件指针;
(2)format:输出格式;
(3)[argument]:出列表;
(4)返回从文件读出的参数个数
注:遇空格或换行读取结束

eg.

FILE* fp;
char a[10];
int b;
double c;
fscanf(fp , "%s %d %lf" , a , &b , &c);
fclose(fp);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值