C语言文件定位相关函数
2011-12-05 21:22
225 查看
文件中有一个位置指针,指向当前读写的位置,在顺序读写一个文件的过程中,每读写一个字符,位置指针自动滑向下一个字符位置。可以移动这个位置指针,达到随即读写目的。下面是几个和文件定位有关的函数。
1.void rewind(FILE *fp);
fp为文件指针。返回值为void 即无返回值
该函数的作用是使位置指针重新返回文件的开头。
2.int feek(FILE *fp,Llong offset,int whence);
fp是文件指针;
offset位移量:以起始点为基准向前滑动的字节数。位移量小于0则表示向后滑。ANSI C和大多数C版本要求位移量是long型数据。这样当文件长度大于64KB时不至出问题。ANSI C标准规定在数字末尾加个字母L,就表示是long型。
whence起始点可用数字表示为0,1,2,也可用宏名表示
起始点 名字 用数字代表
文件开始 SEEK_SET 0
文件当前位置 SEEK_CUR 1
文件末尾 SEEK_END 2
另外:fseek一般用于二进制文件,文本文件在字符替换的时候往往发生混乱。
例子:fseek(fp,100L,0);fseek(fp,30L,1);fseek(fp,-30L,SEEK_END);
fseek()的返回值为:
如果成功返回0值,失败的话返回什么书上没说,网上也没人说。以下是查到的英文解释。看不懂啊!谁能说说
If successful, fseek and _fseeki64 returns 0. Otherwise, it returns
a nonzero value. On devices incapable of seeking, the return value is undefined. If stream is
a null pointer, or if origin is not one of allowed values described below, fseek and _fseeki64 invoke
the invalid parameter handler, as described in Parameter Validation. If
execution is allowed to continue, these functions set errno to EINVAL and return
-1.
3.long ftell(FILE* fp)如果成功返回当前文件指针的位置,返回值为long型。否则返回-1并设置全局变量errno指出错误类型。
fseek和ftell结合起来可以查询一个文件的长度大小。先用fseek把文件位置指针定位到文件末尾,再用ftell查询当前文件位置指针的大小即可得到文件长度。
1.void rewind(FILE *fp);
fp为文件指针。返回值为void 即无返回值
该函数的作用是使位置指针重新返回文件的开头。
2.int feek(FILE *fp,Llong offset,int whence);
fp是文件指针;
offset位移量:以起始点为基准向前滑动的字节数。位移量小于0则表示向后滑。ANSI C和大多数C版本要求位移量是long型数据。这样当文件长度大于64KB时不至出问题。ANSI C标准规定在数字末尾加个字母L,就表示是long型。
whence起始点可用数字表示为0,1,2,也可用宏名表示
起始点 名字 用数字代表
文件开始 SEEK_SET 0
文件当前位置 SEEK_CUR 1
文件末尾 SEEK_END 2
另外:fseek一般用于二进制文件,文本文件在字符替换的时候往往发生混乱。
例子:fseek(fp,100L,0);fseek(fp,30L,1);fseek(fp,-30L,SEEK_END);
fseek()的返回值为:
如果成功返回0值,失败的话返回什么书上没说,网上也没人说。以下是查到的英文解释。看不懂啊!谁能说说
If successful, fseek and _fseeki64 returns 0. Otherwise, it returns
a nonzero value. On devices incapable of seeking, the return value is undefined. If stream is
a null pointer, or if origin is not one of allowed values described below, fseek and _fseeki64 invoke
the invalid parameter handler, as described in Parameter Validation. If
execution is allowed to continue, these functions set errno to EINVAL and return
-1.
3.long ftell(FILE* fp)如果成功返回当前文件指针的位置,返回值为long型。否则返回-1并设置全局变量errno指出错误类型。
fseek和ftell结合起来可以查询一个文件的长度大小。先用fseek把文件位置指针定位到文件末尾,再用ftell查询当前文件位置指针的大小即可得到文件长度。
相关文章推荐
- C语言文件操作相关函数
- c语言文件定位:fseek()函数和ftell()函数的使用
- 对比C语言中execv相关的执行文件的三个函数
- C语言文件及其相关函数
- C语言中建立和删除文件连接的相关函数讲解
- C语言中获取文件状态的相关函数小结
- C语言中操作utmp文件的相关函数用法
- linux c语言之文件操作相关函数--fopen(),fopen_s(),fread(),fwrite(),fclose(),
- C语言中文件指针和文件位置指针,位置指针相关库函数
- C语言对组文件处理的相关函数小结
- 黑马程序员-C语言文件操作相关函数
- C语言相关文件操作函数
- C语言中几个与临时文件操作相关的函数
- (十一)linux下用c语言 实现file流的刷新和定位的相关函数
- C语言几个文件操作函数fopen(),fseek(),fscanf(),fwrite()
- C语言文件操作函数大全(看到总结的真的很好,就转载贡献给大家了)
- C语言文件操作标准库函数与Linux系统函数效率比较
- c语言的文件的相关处理
- PHP文件系统相关函数的功能详解
- C语言 常见的文件操作函数 笔记