前言文件读写的理解和介绍
一、文件分类文本文件:保存的是ASCII码二进制(人能驾驶的) )。
二进制文件:保存数据的完成代码
文件IO
file*fopen(constchar*path,const char *mode );
功能:打开文件或创建文件
路径:文件路径
模式:打开模式
r :以只读权限打开文件,如果文件不存在,则打开失败
在r:r的基础上增加写入权限
w :用只读权限打开文件,如果文件不存在则创建,如果文件存在则清空
w :在w的基础上增加写入权限
答:用只写权限打开文件,如果文件不存在则创建,如果文件存在则不为空,新写入的数据位于文件末尾
答:在a的基础上增加读取权限
上述方式意味着以文本形式操作文件,如果在其中加入b,则以二进制形式操作文件
返回值:结构指针也称为文件指针,不需要关注成员。 直到是操作文件的证书为止都需要。 如果为NULL,则表示文件操作失败
二.用二进制方式写入文件size_tfwrite(constvoid*ptr,size_t size,size_t nmemb,FILE *stream );
功能:将内存数据写入文件
ptr :存储器起始地址
size :一次写入多少字节
nmemb :要写几次
流:文件指针,fopen的返回值
返回值:成功写入的次数:
size_tfread(void*ptr,size_t size,size_t nmemb,FILE *stream );
功能:从文件读取数据到内存
ptr :存储从文件读取的数据的存储器的起始地址
size :一次读取的字节数
nmemb :读取多少次
流:文件指针,fopen的返回值
返回值:成功读取的次数
三.以文本方式读写文件int fprintf (file * stream,const char *format,…)
功能:以文本格式将数据写入文件
流:要写入的文件
格式:占位符和提示信息
…:变量名和列表
返回值:成功写入的字节数
intFscanf(file*stream,const char *format, );
功能:将数据从文件读入变量
流:要读取的文件指针
格式:占位符
…变量地址列表
返回值:成功读取的变量数
intfclose(file*FP );
功能:关闭文件
随机读写文件:
文件位置指针:
每个打开的文件都有一个用于记录操作位置的指针,以r、r、w、w模式打开的文件位置指针位于开头,以a、a打开的文件位置指针移动到文件末尾
如果要随机读写文件中任意位置的数据,只需手动设置文件的位置指针
intfseek(file*stream,long offset,int whence );
功能:设定文件的位置指针
流:要设置的文件
offset :偏移值
whence :基础位置
SEEK_SET :文件的开头
SEEK_CUR :当前位置
SEEK_END :文件末尾
返回值:设置正常返回0,失败返回1
void (文件*流);
功能:将文件位置指针设置为开头
长文件(file * stream );
功能:获取文件位置指针的位置
返回值:第几个字节
int feof (文件*流);
功能:检查文件的位置指针是否到达末尾
返回值:非零说明已到达文件末尾
char*fgets(char*s,int size,FILE *stream );
功能:从文件中读取一行字符串
intfputs(constchar*s,FILE *stream );
功能:将字符串写入文件并自动添加到末尾n
返回值:成功的谢图字符数
输入移除(const char * pathname );
功能:删除文件
返回值:成功返回0。 失败了。 返回1
intRename(constchar*oldpath,const char *newpath );
功能:重命名文件
返回值:成功返回0。 失败了。 返回1
四. main函数的参数是为了获取命令行中添加的参数
argc表示参数的数量
argv各字符串参数的起始地址
注:/a.out必须是第一个参数
以上有错误的话,请指出来