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) 的 错误 类型.
fgetpos, fseek, fsetpos, ftell, rewind - 重定位某个流的更多相关文章
- fseek/ftell/rewind/fgetpos/fsetpos函数使用-linux
程序: #include<stdio.h> int main(int argc,char *argv[]) { FILE * stream; fpos_t pos; stream = fo ...
- Reverse Core 第二部分 - 16&17章 - 基址重定位表&.reloc节区
第16-17章 - 基址重定位表&.reloc节区 @date: 2016/11/31 @author: dlive 0x00 前言 这几天忙着挖邮箱漏洞,吃火锅,马上要被关禁闭,看书进度比较 ...
- IOAPIC重定位中断处理函数思路整理
因为小可并非硬件编程出身,汇编基础又比较差...所以刚开始理解利用IOAPIC重定位技术的时候相当困难. 何为IOAPIC? 首先,必须认识到它是一个硬件,可编程的硬件.我理解的它在整个流程中的作用如 ...
- ELF Format 笔记(十)—— 重定位(relocation)
ilocker:关注 Android 安全(新手) QQ: 2597294287 重定位就是把符号引用与符号定义链接起来的过程,这也是 android linker 的主要工作之一. 当程序中调用一个 ...
- [PE结构分析] 10.基址重定位
源代码如下: typedef struct _IMAGE_BASE_RELOCATION { DWORD VirtualAddress; DWORD SizeOfBlock; // WORD Type ...
- 小甲鱼PE详解之基址重定位详解(PE详解10)
今天有一个朋友发短消息问我说“老师,为什么PE的格式要讲的这么这么细,这可不是一般的系哦”.其实之所以将PE结构放在解密系列继基础篇之后讲并且尽可能细致的讲,不是因为小甲鱼没事找事做,主要原因是因为P ...
- [CSAPP-II] 链接[符号解析和重定位] 静态链接 动态链接 动态链接接口
1 平台 转http://blog.csdn.net/misskissc/article/details/43063419 1.1 硬件 Table 1. 硬件(lscpu) Architecture ...
- s3c6410_uboot中的代码重定位(nand->sdram)
本文仅探讨s3c6410从nand flash启动u-boot时的代码重定位过程 参考: 1)<USER'S MANUAL-S3C6410X>第二章 MEMORY MAP 第八章 NAND ...
- ELF学习--重定位文件
add.c int data = 1;int bss;const int rodata = 1;int add(int num1, int num2){ int sum = 0; sum = num1 ...
随机推荐
- HBase源码分析:HTable put过程
HBase版本:0.94.15-cdh4.7.0 在 HBase中,大部分的操作都是在RegionServer完成的,Client端想要插入.删除.查询数据都需要先找到相应的 RegionServer ...
- 当你触摸并按住触摸目标时候,禁止系统默认菜单-webkit-touch-call
当你触摸并按住触摸目标时候,禁止或显示系统默认菜单. -webkit-touch-callout 是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS ...
- org.hibernate.hql.ast.QuerySyntaxException: Student is not mapped [from Student as stu where stu.sclass=?]
java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: t_aty_disease is not ...
- 洛谷 - P1379 - 八数码难题 - bfs
https://www.luogu.org/problemnew/show/P1379 #include <bits/stdc++.h> using namespace std; #def ...
- 洛谷 - P2730 - 魔板 Magic Squares - bfs
写状态转移弄了很久,老了,不记得自己的数组是怎么标号的了. #include <bits/stdc++.h> using namespace std; #define ll long lo ...
- pip 国内安装镜像源
转自: https://blog.csdn.net/xuezhangjun0121/article/details/81664260 pip国内的一些镜像 阿里云 http://mirrors.a ...
- tcp聊天交互
#****setver端 import socket sk = socket.socket() adress = ('127.0.0.1', 8032) sk.bind(adress) sk.list ...
- 洛谷 P3960 列队
https://www.luogu.org/problemnew/show/P3960 常数超大的treap #pragma GCC optimize("Ofast") #incl ...
- Throwing Dice LightOJ - 1064 || (勉强能用的)分数类
Throwing Dice LightOJ - 1064 方法: 设ans[i][j]表示i个骰子点数恰好为j的概率.那么ans[1][1]到ans[1][6]都为1/6. 显然,$ans[i][j] ...
- 题解报告:hdu 6441 Find Integer(费马大定理+智慧数)
Problem Description people in USSS love math very much, and there is a famous math problem .give you ...