fgetpos, fseek, fsetpos, ftell, rewind - 重定位某个流
总览 (SYNOPSIS)
#include <stdio.h>
int fseek(FILE *stream, long offset, int whence);
long ftell(FILE *stream);
void rewind(FILE *stream);
int fgetpos(FILE
*stream, fpos_t *pos);
int fsetpos(FILE
*stream, fpos_t *pos);
描述 (DESCRIPTION)
函数 fseek 设置 stream 流 的 文件位置 标志. 新的 文件位置
(以 字节 为 单位) 根据 whence 指定的 文件位置 加上 offset 获得. 如果 whence 设置为
SEEK_SET, SEEK_CUR, 或 SEEK_END, 则 对应的 文件位置 分别是 文件开始, 当前位置,
或 文件末尾. 成功 调用 fseek 后, 函数 清除 流 的 文件末尾 标志(end-of-file), 同时 消除
ungetc(3) 函数 对 流 的 影响.
ftell 函数 能够 获取 stream 流 的 当前 文件位置.
rewind 函数 把 stream 流 的 文件位置 设置到 文件开始处. 它 等效于:
- (void)fseek(stream, 0L, SEEK_SET)
另外 它 还能 清除 流 的 错误标志 (见 clearerr(3)).
fgetpos 和 fsetpos 函数 相当于 ftell 和 fseek (whence 设置
为 SEEK_SET) 的 另一种 写法, 读取 当前 文件位置 并 保存在 pos 中, 或用 pos 指向的值
设置 当前 文件位置. 在 某些 非UNIX系统 中, fpos_t 可以 是 一种 复杂的 (数据)对象, 因而 这两个函数 大概是 唯一
可移植的 流定位函数.
返回值 (RETURN VALUE)
rewind 函数 没有 返回值. 如果 操作 成功, fgetpos,
fseek, fsetpos 返回 0, 而 ftell 返回 当前 偏移 (当前 文件位置), 否则 返回 -1,
并 设置 全局变量 errno, 指出 错误 类型.
错误 (ERRORS)
- EBADF
- stream 流 不是 可重定位的 流 (non-seekable stream).
- EINVAL
- fseek 的 whence 参数 不是 SEEK_SET, SEEK_END, 或
SEEK_CUR.
fgetpos, fseek, fsetpos, 和 ftell 函数 也可能 失败后, 把
errno 设置为 fflush(3), fstat(2), lseek(2),
和 malloc(3) 的 错误 类型.
最新文章
- 【转载】 mysql explain用法
- 搭建Go开发及调试环境(LiteIDE + GoClipse) -- Windows篇
- UITableView全面解析
- ubuntu 挂载新硬盘
- .NET下金额大小写转换
- leach和leach-c协议仿真
- io资料
- cf380D Sereja and Cinema 组合数学
- Laravel 5 基础(五)- 环境与配置
- Windows Phone中的图形渲染处理
- ISO 学习笔记 2015-03-15
- UVA 825 Walking on the Safe Side(记忆化搜索)
- PHP - 接口 - 单一接口
- 实现能够直接粘QQ贴截图的bug管理功能
- typedef void far *LPVOID 的具体定义
- 微信小程序(兼容性问题)
- Java 方法(变量)修饰符的使用顺序
- Spring Boot实战笔记(四)-- Spring常用配置(事件Application Event)
- Error:Execution failed for task &#39;:app:processDebugManifest&#39;.
- Mockito框架入门教程(二)
热门文章
- dos窗口出现error:could not open ...jvm.cfg解决方法
- centos6.5下忘记mysql密码
- vue随笔2
- 如何在XCode中更改iPhone或iPad模拟器类型
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 16. 角色管理
- 纳尼,Java 存在内存泄泄泄泄泄泄漏吗?
- 【WIP】MVVM
- 洛谷 - P1217 - 回文质数 - 枚举
- oppo手机怎么打开USB调试模式
- Spring boot整合redis实现shiro的分布式session共享