C语言程序设计 授课教案
#include
11 C语言程序设计 授课教案
说明:
(1) 空读:在输入字符,并按回车后,实际缓冲中有两个字符(如‘f/m’和‘\\n’),只
要前面有意义的字符(‘f/m’)。可以用“空读”略过‘\\n’。
(2) 什么情况要空读?如果后面的读取键盘是读取数字(整数/浮点数),不必空读;如果
后面的读取键盘是读字符或字符串,应当“空读”。
(3) 思考:如果按照教材p212输入两个记录的数据,那么最后产生的文件长度是多少?
(58 bytes)
备注:C语言即使写文本文件,关闭时,也不自动加文件结束符。
11.5 文件的定位
对文件的读写可以顺序读写,也可以随机读写。
1、文件顺序读写:从文件的开头开始,依次读写数据。(从文件开头读写直到文件尾部) 2、文件随机读写(文件定位读写):从文件的指定位置读写数据。
3、文件位置指针:在文件的读写过程中,文件位置指针指出了文件的当前读写位置(实际上
是:下一步读写位置),每次读写后,文件位置指针自动更新指向新的读写位置(实际上是:下一步读写位置)。 注意区分:文件位置指针,文件指针。 可以通过文件位置指针函数,实现文件的定位读写。文件位置指针函数有: ? ? ?
rewind重返文件头函数 fseek位置指针移动函数 ftell获取当前位置指针函数
12 C语言程序设计 授课教案
11.5.1 rewind-重返文件头函数 功能:使文件位置指针重返文件的开头。
例:有一个文本文件,第一次使它显示在屏幕上,第二次把它复制到另外一个文件中。 解:
#include
13 C语言程序设计 授课教案
11.5.2 fseek-位置指针移动函数
功能:移动文件读写位置指针,以便文件的随机读写。 格式:fseek(FILE *fp,long offset,int whence); 参数:
(1)fp-文件指针.
(2)whence-计算起始点(计算基准).计算基准可以是下面符号常量: 符号常量 SEEK_SET SEEK_CUR SEEK_END 符号常量的值 含义 0 1 2 从文件开头计算 从文件指针当前位置计算 从文件末尾计算 (3)offset-偏移量(单位:字节).从计算起始点开始再偏移offset,得到新的文件指针位置。offset为正,向后偏移;offset为负,向前偏移。 例如:
fseek(fp,100,0);/* 将位置指针移动到:从文件开头计算,偏移量为100个字节的位置 */ fseek(fp,50,1);/* 将位置指针移动到:从当前位置计算,偏移量为50个字节的位置 */ /* 向前移动 */
fseek(fp,-30,1);/* 将位置指针移动到:从当前位置计算,偏移量为-30个字节的位置 */ /* 向后移动 */
fseek(fp,-10,2);/* 将位置指针移动到:从文件末尾计算,偏移量为-10个字节的位置 */ /* 向后移动 */
例:编程读出文件stu.dat中第三个学生的数据。
14 C语言程序设计 授课教案
#include
例:编写一个程序,对文件stud.dat加密。加密方式是对文件中所有第奇数个字符的中间两个二进制位进行取反。 解:
对一个数据取反,可以用“~”运算符;对一个数据某个位取反可以将该位与1异或“^”。
15 C语言程序设计 授课教案
#include
功能:得到文件当前位置指针的位置,此位置相对于文件开头的。 格式:long ftell(FILE *fp);
返回值:就是当前文件指针相对文件开头的位置。
16
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言-桂林理工大学11-第十一章 文件操作(3)在线全文阅读。
相关推荐: