fseek/ftell/rewind/fgetpos/fsetpos函数使用-linux
程序:
#include<stdio.h>
int main(int argc,char *argv[])
{
FILE * stream;
fpos_t pos;
stream = fopen(“/etc/passwd”,”r”);
fseek(stream,5,SEEK_SET);
printf(“offset=%d/n”,ftell(stream));
rewind(stream);
/* 取得指针位置并存入&pos所指向的对象 */
fgetpos(stream,&pos);
printf(“offset=%d/n”,pos);
pos = 10;
fsetpos(stream,&pos);
printf(“offset = %d/n”,ftell(stream));
fclose(stream);
return 0;
}
结果:
offset = 5
offset = 0
offset = 10
fseek(移动文件流的读写位置)
头文件
#include<stdio.h>
定义函数
int fseek(FILE * stream,long offset,int whence);
函数说明
fseek()用来移动文件流的读写位置。参数stream为已打开的文件指针,参数offset为根据参数whence来移动读写位置的位移数。
参数 whence为下列其中一种:
SEEK_SET--文件开头offset位移量 为 新的读写位置。
SEEK_CUR--目前的读写位置往后增加offset个位移量。
SEEK_END--指向文件尾再增加offset个位移量 为 新的读写位置。
当whence值为SEEK_CUR 或SEEK_END时,参数offset允许负值的出现。
下列是较特别的使用方式:
1) 欲将读写位置移动到文件开头时:fseek(FILE *stream,0,SEEK_SET);
2) 欲将读写位置移动到文件尾时:fseek(FILE *stream,0,0SEEK_END);
返回值
当调用成功时则返回0,若有错误则返回-1,errno会存放错误代码。
附加
fseek()不像lseek()会返回读写位置,因此必须使用ftell()来取得目前读写的位置。
ftell(取得文件流的读取位置)
头文件
#include<stdio.h>
定义函数
long ftell(FILE * stream);
函数说明
ftell()用来取得文件流目前的读写位置。参数stream为已打开的文件指针。
返回值
当调用成功时则返回目前的读写位置,若有错误则返回-1,errno会存放错误代码。
错误代码 EBADF 参数stream无效或可移动读写位置的文件流。
rewind(重设文件流的读写位置为文件开头)
头文件
#include<stdio.h>
定义函数
void rewind(FILE * stream);
函数说明
rewind()用来把文件流的读写位置移至文件开头。参数stream为已打开的文件指针。此函数相当于调用fseek(stream,0,SEEK_SET)。
返回值
无返回值
fgetpos(取得当前文件的指针所指的位置)
头文件
#include<stdio.h>
函数原型
int fgetpos( FILE *stream, fpos_t *pos );
函数功能
取得当前文件的指针所指的位置,并把该指针所指的位置数存放到pos所指的对象中。pos值以内部格式存储,仅由fgetpos和fsetpos使用。其中fsetpos的功能与fgetpos相反,为了详细介绍,将在后节给与说明。
返回值
成功返回0,失败返回非0,并设置errno。
fsetpos(将文件指针定位在pos指定的位置上)
头文件
#include<stdio.h>
函数原型
int fsetpos(FILE *fp, const fpos_t *pos);
函数功能
将文件指针定位在pos指定的位置上。该函数的功能与前面提到的fgetpos相反,是将文件指针fp按照pos指定的位置在文件中定位。pos值以内部格式存储,仅由fgetpos和fsetpos使用。
返回值
成功返回0,否则返回非0。
fseek/ftell/rewind/fgetpos/fsetpos函数使用-linux相关推荐
- fseek ftell rewind stat 等函数,实现获取文件大小
fseek ftell rewind stat 等函数,实现获取文件大小 fseek()函数:int fseek(FILE *stream, long int offset, int whence) ...
- PHP移动文件指针ftell()、fseek()、rewind()总结
在对文件进行读写过程中,有时需要在文件中跳转.同不同位置读取,以及将数据写入到不同的位置.例如,使用文件模拟数据库保存数据,就需要移动文件指针.指针的位置是以从文件头开始的字节数度量的,默认以不同模式 ...
- C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind...
由于最近经常使用到c语言中的读写文件,所以在此总结以下,方便以后查找. 在c中,文件操作都是由库函数来实现的,主要是分为读和写两种操作,以下详细讲解以下所有有关文件操作的邯郸乎的用法: //C++写入 ...
- C语言文件指针定位函数fseek与rewind有何区别?
在glibc中rewind和fseek本质上都是调用了函数_IO_seekoff_unlocked,所以两者是同根同源的,在不考虑返回值的情况下调用哪个都可以,用rewind写起来简单些,用fseek ...
- linux c语言内核函数手册,Linux C函数实例速查手册
函数学习目录: 第1章 初级I/O函数 1.1 close函数:关闭已经打开的文件 1.2 creat函数:创建一个文件 1.3 dup函数:复制文件描述符 1.4 dup2函数:复制文件描述符到指定 ...
- c语言指针移动函数,fseek c语言指针移动函数
转自:http://hi.baidu.com/wengjiang000/item/867ead5da7d95c10abf6d736 通常文件打开后,读写位置按先后顺序.但有时你想变动读写位置,例如重新 ...
- fopen,fread,fseek,ftell,fclose,fileno的用法
fopen,fread,fseek,ftell,fclose,fileno的使用介绍以及参数说明 fopen 打开一个文件,可以指定打开模式(如只读.只写.读写等)和文件名.函数原型:FILE *fo ...
- 随机存取:fseek(),ftell()
随机存取:fseek(),ftell() fseek(fp,offset,pos): 文件指针定位,fp指向被打开的文件,offset为相对当前pos位置的偏移量,正数表示 向文件尾部偏移,负数表示向 ...
- linux 打印函数宏,linux内核中的嵌入式汇编宏函数
在看linux内核代码时,常会遇到诸如:static inline _syscall0(int,fork)这样的函数.经查阅资料,发现该函数是嵌入式汇编宏函数. linux内核提供了7个非常有用的宏定 ...
最新文章
- tensorflow-gpu 常用网址
- oracle插入java时间,java向oracle中插入字符或时间型 时间数据
- 62 Celery远程调用
- 欢迎参与Java 事务讨论
- [图解]小白都能看懂的FASTER R-CNN – 原理和实现细节
- 463. 岛屿的周长
- wordpress mysql缓存_WordPress 对象缓存与数据库缓存
- Google 被祭天了!
- Atitit atimvc rest原理与自定义实现t33 目录 1.1. Web.xml	1 1.2. MvcFilter	2 1.3. jerserMeth	4 原理 过滤器 过滤即可
- [转载]对于WebGrid第三方控件的使用
- PDF文件有密码怎么解除?
- 视频教程-学透JavaScript-JavaScript
- 安卓24:Android关于日期和时间的几个相关控件DatePicker、TimePicker等
- 服务器总出现异常?几个小方法助你防范于未然
- 腾讯云阿里云4月服务器价格对比
- 微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
- 厨神之路五--粥汤类
- 独家揭秘!2.5亿用户的美团智能推荐平台是如何构建的?
- 4个基本不等式的公式高中_基本不等式公式四个叫什么名字
- STC 51单片机43——看门狗
热门文章
- quartus2管教锁定出不来_Quartus II 中常见Warning 原因及解决方法(转载)
- 20210620 Successive projection algorithm(连续投影法)
- double compare 0
- 洛谷 P2296 寻找道路
- 剑指offer(三):从尾到头打印链表
- python实现剑指offer删除链表中重复的节点
- word多出空标题,样式是列出段落 - -显示时,选择不勾选“隐藏文字”
- 自定义控件-侧边菜单SlidingMenu(滑动菜单)
- expression tree to string
- c#和VB混用出现的错误