读写文件小技巧笔记

文件的读写主要是两种,一种是 FILE, 另一种是 stream。

其中 FILE 的头文件为 <stdio.h>.

而 stream 的头文件为 <fstream>


一、FILE

FILE *fp; //初始化
fopen_s(&fp, filename, "r"); //打开文件
fseek(fp, offset, SEEK_SET); //fseek可以对 fp 进行偏移调整,其中SEEK_SET表示从文件的首位置开始
fread(buff, size, count, fp); //将fp当前位置size*count个字节的数据读取到buff中


二、stream

ifstream in(filename, ios::in, ios::binary); //以二进制的形式读取文件	
in.read((char*)& buff, sizeof(char)*4); //读取4个字节的数据存储到 buff 中
in.is_open(); //判断文件是否打开成功


有 ifstream 自然就有对应的 ofstream, 而 out.write() 的格式也是 in.read() 一样,也可以以二进制写入。

stream 在读取完了数据之后,指针会自动移动到后面,但是貌似用 fread 则不会。


注意在读取二进制文件的时候,必须要用参数 "rb", 否则读取会出错。

档offset过大,需要long long 型的offset时,fseek 改用 _fseeki64。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值