读写文件小技巧笔记

来源:互联网 发布:淘宝不需要保证金 编辑:程序博客网 时间:2024/04/29 16:26

文件的读写主要是两种,一种是 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。

原创粉丝点击