完成网站建设,石家庄建站模板厂家,贵州 网站建设,做微信公众号的是哪个网站吗#x1f497; #x1f497; 博客:小怡同学 #x1f497; #x1f497; 个人简介:编程小萌新 #x1f497; #x1f497; 如果博客对大家有用的话#xff0c;请点赞关注加关注 #x1f31e; 什么是文件 磁盘上的文件是文件。 但是在程序设计中#xff0c;我们一般谈的文… 博客:小怡同学 个人简介:编程小萌新 如果博客对大家有用的话请点赞关注加关注 什么是文件 磁盘上的文件是文件。 但是在程序设计中我们一般谈的文件有两种。 程序文件包括源程序文件后缀为.c,目标文件windows环境后缀为.obj,可执行程序windows环境 后缀为.exe。 数据文件文件的内容不一定是程序而是程序运行时读写的数据比如程序运行需要从中读取数据的文件或者输出内容的文件。 文本文件和二进制文件 根据数据的组织形式数据文件被称为文本文件和二进制文件一个是在文件中以二进制形式储存 一个实在文件中以ASCII形式储存数据以二进制储存需要在存储前转换 字符一率用ASCII形式存储数值型两者都可 文件的打开和关闭 说到文件的打开关闭就离不开”文件类型指针——FILE pf“。文件在读写之前应该先打开文件在使用结束之后应该关闭文件在编写程序的时候在打开文件的同时都会返回一个FILE*的指针变量指向该文件也相当于建立了指针和文件的关系。 ANSIC 规定使用fopen函数来打开文件fclose来关闭文件 int fclose ( FILE * stream );//文件指针 FILE * fopen ( const char * filename, const char * mode );//文件指针打开方式 打开方式常见有 在了解文件的顺序和随机读写之前请看下张图
文件的顺序读写 内存中的数据通过流可到目标输入设备 像是二进制输入 只适用于文件流从文件导入到内存中而不能从屏幕导入内存数据 //我是这样理解的
文件的随机读写
fseek int fseek ( FILE * stream, long int offset, int origin ) 作用 调整steam所指向的文件 将origin 处位置 移动 offset 返回值如果成功函数返回零。否则它返回非零值。 如果发生读取或写入错误则会设置错误指示器( ferror )。 参数第一个参数是文件指针 第二个是偏移量第三个设定从文件的哪里开始偏移 可能取值为SEEK_CUR、 SEEK_END 或 SEEK_SET SEEK_SET 文件开头 SEEK_CUR 当前位置 SEEK_END 文件结尾
ftell long int ftell ( FILE * stream ); 作用返回文件指针相对于起始位置的偏移量 返回值 成功时返回位置指示器的当前值。 失败时返回-1L并将errno设置为系统特定的正值。 参数;是文件指针
rewind void rewind ( FILE * stream ) 作用让文件指针的位置回到文件的起始位置 返回值没有任何 参数文件指针
文件读取结束的判定
在文件读取过程中不能用feof函数的返回值直接用来判断文件的是否结束。
文本文件读取是否结束判断返回值是否为 EOF fgetc 或者 NULL fgets 例如 fgetc 判断是否为 EOF . fgets 判断返回值是否为 NULL .二进制文件的读取结束判断判断返回值是否小于实际要读的个数。 例如 fread判断返回值是否小于实际要读的个数。 当读取失败后判断是什么原因结束的 须用ferror和feof函数来判定 ferror 检测文件读写过程中是否有产生错误返回值是真 则文件结束而读取失败 feof检测读取文件是否错误