黑马程序员技术交流社区
标题:
rewind()和fseek()的不同?
[打印本页]
作者:
Micro
时间:
2015-2-10 09:56
标题:
rewind()和fseek()的不同?
移动文件内部位置指针的函数主要有两个,即
rewind()
和
fseek()
。
rewind函数前面已多次使用过,其调用形式为:
rewind(文件指针);
它的功能是把文件内部的位置指针移到文件首。
下面主要介绍fseek函数。fseek函数用来移动文件内部位置指针,其调用形式为:
fseek(文件指针,位移量,起始点);
其中:
“文件指针”指向被移动的文件。
“位移量”表示移动的字节数,要求位移量是long型数据,以便在文件长度大于64KB 时不会出错。当用常量表示位移量时,要求加后缀“L”。
“起始点”表示从何处开始计算位移量,规定的起始点有三种:文件首,当前位置和文件尾。
其表示方法如下表:
起始点
表示符号
数字表示
文件首
SEEK_SET
0
当前位置
SEEK_CUR
1
文件末尾
SEEK_END
2
例如:
fseek(fp,100L,0);
其意义是把位置指针移到离文件首100个字节处。
还要说明的是fseek函数一般用于二进制文件。在文本文件中由于要进行转换,故往往计算的位置会出现错误。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2