设置文件内部读写位置指针的作用是将文件内部读写位置指针从某一个起始位置移动(设置)到另外一个指定的位置,使用C标准库函数fseek可以完成此功能。表7.2标准库函数fseek的origin参数值及意义函数的功能是:将由stream所关联文件的内部读写位置指针从origin指定的起始位置开始移动offset所指定的字节数,当参数offset为正值时向文件尾方向移动,当参数offset为负值时向文件头方向移动。......
2023-11-20
1.文件内部读写位置指针
记录是文件内部的组织单位,不同类型文件之间的记录大小也不尽相同。例如,文本文件的记录是一个字节,而32位系统的二进制整型数据文件的记录则是4个字节。当打开(或创建)一个文件时,系统自动为打开的文件建立一个文件内部读写位置指针(也称为文件内部记录指针)。该指针在对文件的读写过程中用于指示文件的当前读写位置,每次对文件进行了读或写之后,文件位置指针自动更新指向下一个新的读写位置。
在程序设计中,需要区别文件指针和文件内部读写位置指针两个不同的操作对象。文件指针(FILE类型)用于关联程序中被操作文件,在程序中必须进行定义。打开一个文件并与文件指针关联后,只要不重新赋值,文件指针的值是不变的。文件内部读写位置指针用以指示文件内部的当前读写位置,每读写一次,根据读写记录的个数,该指针均自动向后移动与读写方式相适应的距离。文件内部记录指针不需在程序中定义说明,由系统在创建或者打开文件时自动设置。
2.文件尾的检测
文件处理程序中,需要判断所处理的文件是否处理完成,即文件的读写位置指针是否已经移动到了文件尾标志处。
对于文本文件,由于任何一个字符的ASCII值均不可能是-1,所以用-1表示文本文件的文件尾标志,系统中用符号常量EOF来表示。除了可以表示文本文件的结尾外,EOF还常常用于判断键盘上的输入字符流是否结束。(www.chuimin.cn)
在二进制文件中,因为数据中有可能出现-1,所以使用EOF符号常量并不能正确地表示出二进制文件的结尾。C标准库中提供了一个用于测试文件状态的函数feof,使用feof函数判断文件内部读写指针位置是否到了文件尾标志处(即文件数据处理是否结束),它既适用于文本文件又适用于二进制文件。feof函数的原型为:
int feof(FILE*stream);
feof函数的功能是:测试由stream所对应文件的内部读写位置指针是否移动到了文件结尾。读写位置指针未到文件尾时函数返回0值;读写位置指针到达文件尾时函数返回非0值。例如,当文件指针变量fp已经正确地关联了被处理文件,则程序中常用feof(fp)函数调用的结果(0或非0)作为判断文件数据处理是否完成的条件。
需要特别指出的是,无论是文件操作模式的选取还是文件尾的判断,凡是能够处理二进制文件的选择都可以处理文本文件。所以当文件处理问题中没有明显指定是文本文件处理时,都可以考虑使用二进制文件方式进行处理。
有关C语言程序设计基础(第3版)的文章
设置文件内部读写位置指针的作用是将文件内部读写位置指针从某一个起始位置移动(设置)到另外一个指定的位置,使用C标准库函数fseek可以完成此功能。表7.2标准库函数fseek的origin参数值及意义函数的功能是:将由stream所关联文件的内部读写位置指针从origin指定的起始位置开始移动offset所指定的字节数,当参数offset为正值时向文件尾方向移动,当参数offset为负值时向文件头方向移动。......
2023-11-20
前面章节讨论了将数据写入文件和从文件中读取数据的方法。在上述两方面应用的文件数据处理中,文件操作的模式应该是“读写”文件。“读写”文件的打开模式有两大类:读为主的读写类模式和写为主的读写类模式。在对文件数据读写时,必须确认读写位置指针的性质是“读位置指针”还是“写位置指针”。下面通过两个示例展示文件“读写”模式的使用方法。......
2023-11-20
选择下拉菜单命令,系统弹出“配合”对话框;选取图13.2.17所示的两个面为要配合的实体,创建元件装配第一约束,单击按钮,并在其后的文本框中输入数值3.00,选中复选框;单击列表框中的“同向对齐”按钮,单击“距离1”对话框中的按钮。图13.2.22 元件装配的第一约束图13.2.23 元件装配的第二约束图13.2.24 元件装配的第三约束Task4.保存零件模型选择下拉菜单命令,将模型命名为orign_asm即可保存零件模型。......
2023-06-27
文本文件的结束以ASCII码的控制字符0x1A表示。使用流成员函数读取文件数据常用的输入流成员函数有get、getline和read等。虽然给出长度参数,但当遇到文件结束标记或者文件结束时读操作结束。例如,和上例相同功能的程序如下:3.文本文件的读写示例分析以下程序的执行结果。程序的执行结果如下:His编写一个程序,将文本文件test.txt复制到文本文件real.txt。......
2023-11-07
例9.2中的程序是按处理文本文件的方式来编写的。在文件内部有一个位置指针,用来指向文件的当前读写字节。文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需在程序中定义说明,而是由系统自动设置的。例9.3将例9.1中的建立的文件A.dat的内容在屏幕上显示。例9.4从A.dat文件中读入一个含10个字符的字符串。例9.6从键盘输入两个学生数据并写入一个文件中,再读出这两个学生的数据显示在屏幕上。......
2023-11-18
图3-72 文件I/OVI3.文本文件文本文件是最常用的文件类型。如果文件过大,超过了I32的表示范围,则需要分段读取。在.lvm文件中,LabVIEW保存高达6位精度的数据。图3-80 程序框图图3-81 程序框图和前面板运行效果图3-82 读写lvm文件7.高速数据流文件TDMS提供了一整套简单易用的API,如图3-83所示。......
2023-07-02
在PHP开发中,下载文件可以使用curl、fsockopen、file_get_contents等函数。PHP内置了file_get_contents函数,该函数是PHP程序员常用于下载文件的函数,但file_get_contents并不提供文件本地化保存功能,需要开发人员手动处理。download能够对常见的TXT、HTML、XML、图片等文件提供下载功能,也能够对压缩包、二进制文件等提供下载功能。图11-2 download方法下载文件效果......
2023-11-04
3)通过写入二进制文件函数节点将正弦波VI产生的正弦波数据写入文件。使用读取二进制文件VI读取数据时,必须指定数据类型,方法是将所需要类型的数据连接到读取二进制文件VI的数据类型输入端。......
2023-11-07
相关推荐