在程序设计中,需要区别文件指针和文件内部读写位置指针两个不同的操作对象。文件内部读写位置指针用以指示文件内部的当前读写位置,每读写一次,根据读写记录的个数,该指针均自动向后移动与读写方式相适应的距离。读写位置指针未到文件尾时函数返回0值;读写位置指针到达文件尾时函数返回非0值。......
2023-11-20
设置文件内部读写位置指针的作用是将文件内部读写位置指针从某一个起始位置移动(设置)到另外一个指定的位置,使用C标准库函数fseek可以完成此功能。标准库函数fseek的原型如下:
int fseek(FILE*stream,long offset,int origin);
标准库函数fseek的参数意义是:
·stream:用以指定被设置内部读写位置指针的文件;
·offset:是一个长整型量,表示的文件内部读写位置指针需移动的字节位移量;
·origin:指定文件内部读写位置指针移动的起始位置,其值和意义见表7.2。
表7.2 标准库函数fseek的origin参数值及意义
函数的功能是:将由stream所关联文件的内部读写位置指针从origin指定的起始位置开始移动offset所指定的字节数,当参数offset为正值时向文件尾方向移动,当参数offset为负值时向文件头方向移动。注意,无论指定的移动距离为多远,文件内部读写位置指针只能在文件的数据区中移动。
【例7.13】 数据文件mydata.txt中存放有一个5行10列二维数组的内容,编写程序找出第4行(3号行)中的最大值。
提示:可以用前面例7.10的程序构造数据文件,用例7.11程序查看文件数据。(www.chuimin.cn)
上面程序中,打开文件后首先计算出所需要数据的位置(离文件头的距离),然后通过标准库函数fseek移动读写位置指针到指定位置,读出数据进行后续处理。
【例7.14】 模仿操作系统的COPY命令,编写一个实现拷贝功能的程序(要求使用数据块拷贝的方式)。
例7.14的程序运行时,用变量copysize表示拷贝数据的长度(copysize变量同时用于控制拷贝工作是否继续进行),用字符数组buffer作为拷贝的数据缓冲区,每正确从源文件中读出一块数据时,直接将其拷贝到目标文件中,并用变量offset记录文件数据拷贝成功的结束位置(当拷贝出错时即是出错处的起始位置);当某次读取数据块出错时,用fseek函数将文件内部读写位置指针移回到上次成功读取数据的结束位置(由变量offset指出),然后将拷贝长度折半后进入下一次拷贝过程。反复进行上述过程直至数据拷贝完成为止。
有关C语言程序设计基础(第3版)的文章
在程序设计中,需要区别文件指针和文件内部读写位置指针两个不同的操作对象。文件内部读写位置指针用以指示文件内部的当前读写位置,每读写一次,根据读写记录的个数,该指针均自动向后移动与读写方式相适应的距离。读写位置指针未到文件尾时函数返回0值;读写位置指针到达文件尾时函数返回非0值。......
2023-11-20
前面章节讨论了将数据写入文件和从文件中读取数据的方法。在上述两方面应用的文件数据处理中,文件操作的模式应该是“读写”文件。“读写”文件的打开模式有两大类:读为主的读写类模式和写为主的读写类模式。在对文件数据读写时,必须确认读写位置指针的性质是“读位置指针”还是“写位置指针”。下面通过两个示例展示文件“读写”模式的使用方法。......
2023-11-20
例9.2中的程序是按处理文本文件的方式来编写的。在文件内部有一个位置指针,用来指向文件的当前读写字节。文件内部的位置指针用以指示文件内部的当前读写位置,每读写一次,该指针均向后移动,它不需在程序中定义说明,而是由系统自动设置的。例9.3将例9.1中的建立的文件A.dat的内容在屏幕上显示。例9.4从A.dat文件中读入一个含10个字符的字符串。例9.6从键盘输入两个学生数据并写入一个文件中,再读出这两个学生的数据显示在屏幕上。......
2023-11-18
将“D:\A3-title”块添加到“A3样板.dwt”文件的布局中。下面要对此布局进行调整:调整为A3幅面,可打印区域扩展至整张图纸,扩大观察图形用的“视口”。图7-10对话框b)确认选择,然后单击按钮,打开对话框,如图7-11所示。图7-12对话框在对话框中可以对打印机的介质、特性、图纸尺寸、标准图纸的可打印区域等进行配置。图7-15页面设置后的2)在布局1中插入标题栏与图框。a)将“视口”层置为当前层。......
2023-06-21
我们习惯用的答案、评分标准,其“标尺”就是试题实际的分数,该数值主要根据具体试卷的结构和试题的重要性而定;而国际测量理论、实践中的评分标准,分值范围即标尺大小,有独立于具体试卷之外的一般规则。(一)基于题型规划评分标准标尺先看NAEP的做法。NAEP评分标准标尺设定范围符合阿特建议的规则。总的来说,试题评分标准标尺的大小,基本与评估内容的复杂性、试题的答题空间、思维容量成正比。......
2023-08-17
对一个打开的文件而言,最常用到的就是对文件的读写操作,在Linux系统中,提供了系统调用函数实现文件的读写操作。读取文件数据时,文件的当前读写位置会向后移。以下几种读取文件数据情况下,返回的字节数会小于count值。......
2023-11-19
有关伸臂结构合理位置的研究很多,一般都以减小侧移为目标函数来研究伸臂的最优位置。图9-2 伸臂设置效果影响因素a)γ—Ry关系 b)α—Ry关系 c)一道伸臂的优化位置 d)两道伸臂的优化位置 e)多道伸臂的效果图9-2b表示改变参数α对Ry的影响,其他参数不变。3)设置多道伸臂时,会进一步减小位移,但位移减小并不与伸臂数量成正比,设置伸臂多于4道时,减小侧移的效果基本稳定。......
2023-08-23
3)通过写入二进制文件函数节点将正弦波VI产生的正弦波数据写入文件。使用读取二进制文件VI读取数据时,必须指定数据类型,方法是将所需要类型的数据连接到读取二进制文件VI的数据类型输入端。......
2023-11-07
相关推荐