C语言常用文件处理函数.docx
- 文档编号:2402445
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:31
- 大小:32.92KB
C语言常用文件处理函数.docx
《C语言常用文件处理函数.docx》由会员分享,可在线阅读,更多相关《C语言常用文件处理函数.docx(31页珍藏版)》请在冰豆网上搜索。
C语言常用文件处理函数
C语言中常用文件操作函数
一、文件的打开与关闭
———————————————————————————————————————
1、fopen
调用方式:
FILE*fp;
fp=fopen(文件名,使用文件方式);
说明:
(1)、使用文件方式主要有:
只读(r)、只写(w)、追加(a),还有配合"+"使用的方式,如r+、w+、a+;
(2)、默认打开的文件为文本文件,用't'表示,可以省略。
如果打开二进制的文件,则使用'b'。
例如:
r、rt、rb等。
(3)、如果不能实现打开的任务,则函数返回NULL值。
———————————————————————————————————————
2、fclose
调用方式:
FILE*fp;
fclose(fp);
说明:
(1)、打开文件后,必须要养成关闭文件的好习惯。
(2)、如果关闭文件出错,函数返回非零值,否则返回0.可以用ferror函数检查是否出错。
*******************************************************************************
二、文件的读写
———————————————————————————————————————
1、fputc
调用方式:
FILE*fp;
charc;
fputc(c,fp);
说明:
(1)、fputc向文件写入一个字符。
(2)、输出成功则返回值就是输出的字符,如果失败则返回一个EOF。
———————————————————————————————————————
2、fgetc
调用方式:
FILE*fp;
charc;
c=fgetc(fp);
说明:
(1)、fgetc向文件读取一个字符。
(2)、函数返回读取的字符,如果遇到文件结尾,则返回EOF。
(3)、建议使用feof函数来判断是否文件结束。
如果文件结束,函数feof返回值为1,否则为0。
———————————————————————————————————————
3、fread
调用方式:
fread(buffer,size,count,fp);
说明:
(1)、buffer:
是一个指针。
对于fread来说明,它是读入数据的存放地址。
对fwrite来说,是要输出数据的地址。
(2)、size:
要读写的字节数。
可以使用sizeof来获得字节长度。
(3)、count:
要进行读写多少个size字的数据项。
(4)、fp:
文件指针。
(5)、如果fread或fwrite调用成功,则函数返回值为count的值。
———————————————————————————————————————
4、fwrite
见fread说明。
———————————————————————————————————————
5、fprintf和fscanf
调用方式:
fprintf(文件指针,格式字符串,输出列表);
fscanf(文件指针,格式字符串,输入列表);
说明:
(1)、在内存与磁盘频繁交换数据的情况下,建议采用fread和fwrite实现。
*******************************************************************************
三、文件的定位
*******************************************************************************
1、rewind
调用方式:
FILE*fp;
rewind(fp);
说明:
(1)、rewind使文件的位置指针重新定位于文件开头。
———————————————————————————————————————
2、fseek
调用方式:
fseek(文件类型指针,位移量,起始点);
说明:
(1)、起始点用0、1、2代替,分别表示文件开始、文件当前位置、文件末尾。
(2)、位移量指起始点为基点,向前移动的字节数。
一般为long型。
(3)、fseek常用二进制文件,可以实现随机读写。
———————————————————————————————————————
3、ftell
调用方式:
FILE*fp;
longi;
i=ftell(fp);
说明:
(1)、函数返回文件当前位置,如果调用出错则返回值为-1L。
*******************************************************************************
四、出错的检测
*******************************************************************************
1、ferror
调用方式:
FILE*fp;
ferror(fp);
说明:
(1)、返回值为0,表示未出错,返回值为1,表示出错。
(2)、同一个文件每一次调用输入输出函数,均产生一个新的ferror函数值。
(3)、在执行fopen函数时,ferror函数的初始值自动置为0。
———————————————————————————————————————
2、clearerr
调用方式:
FILE*fp;
clearerr(fp);
说明:
(1):
使文件错误标志和文件结束标志为0.
**************************************************************************************************************************************************************
char*fcvt(doublevalue,intndigit,int*decpt,int*sign)
将浮点数value转换成字符串并返回该字符串
char*gcvt(doublevalue,intndigit,char*buf)
将数value转换成字符串并存于buf中,并返回buf的指针
char*ultoa(unsignedlongvalue,char*string,intradix)
将无符号整型数value转换成字符串并返回该字符串,radix为转换时所用基数
char*ltoa(longvalue,char*string,intradix)
将长整型数value转换成字符串并返回该字符串,radix为转换时所用基数
char*itoa(intvalue,char*string,intradix)将整数value转换成字符串存入string,radix为转换时所用基数
doubleatof(char*nptr)将字符串nptr转换成双精度数,并返回这个数,错误返回0
intatoi(char*nptr)将字符串nptr转换成整型数,并返回这个数,错误返回0
longatol(char*nptr)将字符串nptr转换成长整型数,并返回这个数,错误返回0
doublestrtod(char*str,char**endptr)将字符串str转换成双精度数,并返回这个数,
longstrtol(char*str,char**endptr,intbase)将字符串str转换成长整型数,并返回这个数,
intmatherr(structexception*e)用户修改数学错误返回信息函数(没有必要使用)
double_matherr(_mexcepwhy,char*fun,double*arg1p,
double*arg2p,doubleretval)用户修改数学错误返回信息函数(没有必要使用)
unsignedint_clear87()清除浮点状态字并返回原来的浮点状态
void_fpreset()重新初使化浮点数学程序包
unsignedint_status87()返回浮点状态字
*******************************************************************************
目录函数,所在函数库为dir.h,dos.h
*******************************************************************************
intchdir(char*path)使指定的目录path(如:
"C:
\WPS")变成当前的工作目录,成功返回0
intfindfirst(char*pathname,structffblk*ffblk,intattrib)查找指定的文件,成功返回0
pathname为指定的目录名和文件名,如"C:
\WPS\TXT"
ffblk为指定的保存文件信息的一个结构,定义如下:
┏━━━━━━━━━━━━━━━━━━┓
┃structffblk┃
┃{┃
┃charff_reserved[21];/*DOS保留字*/┃
┃charff_attrib;/*文件属性*/┃
┃intff_ftime;/*文件时间*/┃
┃intff_fdate;/*文件日期*/┃
┃longff_fsize;/*文件长度*/┃
┃charff_name[13];/*文件名*/┃
┃}┃
┗━━━━━━━━━━━━━━━━━━┛
attrib为文件属性,由以下字符代表
┏━━━━━━━━━┳━━━━━━━━┓
┃FA_RDONLY只读文件┃FA_LABEL卷标号┃
┃FA_HIDDEN隐藏文件┃FA_DIREC目录┃
┃FA_SYSTEM系统文件┃FA_ARCH档案┃
┗━━━━━━━━━┻━━━━━━━━┛
例:
structffblkff;
findfirst("*.wps",&ff,FA_RDONLY);
intfindnext(structffblk*ffblk)取匹配finddirst的文件,成功返回0
voidfumerge(char*path,char*drive,char*dir,char*name,char*ext)
此函数通过盘符drive(C:
A:
等),路径dir(TC,BCLIB等),
文件名name(TC,WPS等),扩展名ext(.EXE,.COM等)组成一个文件名,存与path中.
intfnsplit(char*path,char*drive,char*dir,char*name,char*ext)
此函数将文件名path分解成盘符drive(C:
A:
等),路径dir(TC,BCLIB等),
文件名name(TC,WPS等),扩展名ext(.EXE,.COM等),并分别存入相应的变量中.
intgetcurdir(intdrive,char*direc)此函数返回指定驱动器的当前工作目录名称
drive指定的驱动器(0=当前,1=A,2=B,3=C等)
direc保存指定驱动器当前工作路径的变量成功返回0
char*getcwd(char*buf,iintn)此函数取当前工作目录并存入buf中,直到n个字节长为为止.错误返回NULL
int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 常用 文件 处理 函数