百度申诉网站,沉默是金,seo 优化教程,国际室内设计公司排名文件操作
概念
文件是指存储在外存储器上#xff08;一般代指磁盘#xff0c;也可以是U盘#xff0c;移动硬盘等#xff09;的数据的集合。
文件操作体现在哪几个方面 1.文件内容的读取 2.文件内容的写入 数据的读取和写入可被视为针对文件进行输入和输出的操作#xf…文件操作
概念
文件是指存储在外存储器上一般代指磁盘也可以是U盘移动硬盘等的数据的集合。
文件操作体现在哪几个方面 1.文件内容的读取 2.文件内容的写入 数据的读取和写入可被视为针对文件进行输入和输出的操作此时数据就像水流一样从外存储器流向内存或者从内存流向外存储器所以系统 形象的称文件操作为文件流 C语言程序对文件的操作采用“文件缓冲机制”。就是说在程序中对文件的数据读写并不是直接 操作文件中的数据而是系统会为文件在内存中创建“文件缓冲区”程序对文件的操作其实是在 缓冲区进行的。 文件的分类
根据数据的存储方式划分 1. 文本文件ASCII文件 2. 二进制文件 文件标识 1. 文件系统中路径文件名举例d:/aaa/bbb.txt 2. C语言程序中文件指针文件类型指针 语法FILE *指针变量名文件操作的步骤 1. 打开文件 2. 文件处理读写文件3. 关闭文件 文件的打开与关闭
文件打开让系统为文件创建文件缓冲区 函数名 fopen 头文件 #include 函数原型 FILE* fopen(const char *path,const char *mode); 函数功能: 打开文件并为文件创建缓冲区 函数参数: path:目标文件的路径 mode:文件打开的方式(读-r、写-w、读写-L) 返回值: 成功:返回文件指针 File*(缓冲区首地址) 失败:返回NULL 文件关闭文件使用完毕一定要记得释放 函数名 fclose 头文件: #includestdio.h 函数原型: int fclose(FILE* fp); 函数功能: 关闭文件释放缓冲区 函数参数: fp:已经打开的文件指针 返回值: 成功:返回0 失败:返回EOF(-1) eg
/*** 文件的打开与关闭*/
#include stdio.hint main(int argc,char** argv)
{// 在命令行执行./a.out的时候传递一个需要打开的目标文件的地址if(argc 2){printf(输入有误请按照%s 文件路径格式输入\n,argv[0]);return -1;}// 根据提供的文件路径打开文件,mode(r,w,rw)FILE* fp fopen(argv[1],r);// 校验文件是否读取成功if(!fp){perror(文件打开失败);return -1;}puts(文件打开成功);// 关闭打开的文件int ret fclose(fp);// 校验文件是否关闭成功很多时候这一步会省略掉if(ret -1){perror(文件关闭失败);return -1;}puts(文件关闭成功);return 0;
}
文件的读写
单字符读取 函数名 fgets 头文件 #include stdio.h 函数原型 int fgets(File* fp); 函数功能 从fp代表的文件中获取一个字符 函数参数 fp我们需要操作的文件的描述 返回值 成功返回读取到的字符 失败或者文件末尾返回EOF-1 多字符读取 函数名 fgets 头文件: #includestdio.h 函数原型: char *fgets(char *buf, int size, FILE *fp); 函数功能: 从fp代表的文件中获取size-1个字符放置在buf代表的内存中 函数参数: buf:内存空间首地址用于存放读取的字节 size:待读取的字符实际读取size-1 fp:已经打开的文件指针 返回值: 成功:返回buf 失败:文件末尾返回NULL 单字符写入 函数名 fputc 头文件: #includestdio.h 函数原型: int fputc(int c, FILE *fp); 函数功能: 向fp代表的文件中写入1个字符c 函数参数: c:待写入的字符 fp:已经打开的文件指针 返回值: 成功:返回c 失败:返回EOF-1 多字符写入 函数名 fputs 头文件: #includestdio.h 函数原型: int fputs(const char *s, FILE *stream); 函数功能: 向fp代表的文件中写入1个字符数组s 函数参数: s:待写入的字符数组写入缓冲区 fp:已经打开的文件指针 返回值: 成功:返回非负整数 0 失败:文件末尾返回NULL 判断文件结束 函数名: feoffp) 头文件: #include stdio.h 函数原型: int feof(fp) 函数功能: 在读如指向的文件时判断是否遇到文件结束。 函数参数: fp:已打开的文件指针 返回值: 成功:返回非负整数(0) 失败:返回EOE(-1) 数据块的读写二进制
fread 头文件: #include stdio.h 函数原型: size_t fread(void *ptr,size_t size,size_t count,FILE* fp) 函数功能: 从fp代表的文件中以size为单位一个数据块读取count个存放在ptr内存中 函数参数: ptr:内存空间首地址用于存放读取到数据(缓冲区) size:数据块大小以byte为单位 count:待读取的数据块的个数 fp:已打开的文件指针 返回值: 成功:返回实际写入的字节数 失败:返回0 fwrite 头文件: #include stdio.h 函数原型: size_t fwrite(count void* ptr,size_t size,size_t count,FILE* fp) 函数功能: 向fp代表的文件中以size为一个数据块写入count个数据块到fp 函数参数: ptr:内存空间首地址用于存放待写入的数据(写入缓冲区) size:数据块大小以byte为单位 count:待写入的数据块个数 fp:已打开的文件指针 返回值: 成功:返回实际写入的字节数 失败:返回0 文件的随机读写 说明C语言允许程序员在读写文件内容时可在指定的位置上读写数据文件随机读写的核心操作 文件位置指针的定位 文件位置指针的移动方法
rewind 头文件 #include 函数原型 void rewind(FILE* fp); 函数功能 将文件位置指针定位到文件开头 函数参数 fp: 已经打开的文件指针 返回值 无 fseek 头文件 #include 函数原型 int fseek(FILE *fp, long offset, int whence); 函数功能 将文件位置指针定位到指定位置 函数参数 fp: 已经打开的文件指针 offset 相对于参考位置的偏移位置 whence 参考位置 SEEK_SET 或 0 表示文件头 SEEK_CUR 或 1 表示当前读写的位置SEEK_END 或 2 表示文件尾 返回值 成功 0 失败 : -1 ftell 头文件 #include 函数原型 long ftell(FILE *fp); 函数功能 获取文件位置指针当前位置 函数参数 fp: 已经打开的文件指针 返回值 成功 文件位置指针当前位置 失败 : -1