文件IO只有如下几个函数,当然主要参考MSDN,因为英文新手看起来比较那个,也为了自己久不用陌生备查(最近可能较大精力投入到网站开发中),于是有此文……
打开文件函数:fopen
函数原型:FILE *fopen( const char *filename, const char *mode );
需要头文件:<stdio.h> 兼容性:ANSI, Win 95, Win NT
相关库:
LIBC.LIB 单线程静态库,零售版?(retail version)
LIBCMT.LIB 多线程静态库,零售版?(retail version)
MSVCRT.LIB MSVCRT.dll的静态库,零售版?(retail version)
返回值:
操作成功,返回文件[FILE结构的指针],否则返回NULL指针。
参数说明:
filename 文件名
mode 打开方式,如rb表示只读二进制,详见MSDN
指针定位函数:fseek
函数原型:int fseek( FILE *stream, long offset, int origin );
文件头及相关库同fopen
返回值:成功返回0,否则返回非0值,比较特殊。
stream是已打开FILE结构的指针,offset是偏移量,origin是起始位置(SEEK_SET=0,SEEK_CUR=1,SEEK_END=2)
可以这么理解,如文件内容是:0123456789,fseek(fp, 0, SEEK_SET);则指针在0的前面,读一个字节将得到字符0,
fseek(fp, -1, SEEK_END); 指针在9前面,读一个字节将得到字符9……
数据读取函数:fread相对简单,可参考http://baike.baidu.com/view/656689.htm
数据写入函数:fwrite也较简单,可参考http://baike.baidu.com/view/656700.html
主要是,如果打开方式r+或w+(当然rb+等也是),函数将从当前指针开始写入,如果是a+,那么函数将从末尾开始,指针将被忽略……