程序:

#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相关推荐

  1. fseek ftell rewind stat 等函数,实现获取文件大小

    fseek ftell rewind stat 等函数,实现获取文件大小 fseek()函数:int fseek(FILE *stream, long int offset, int whence) ...

  2. PHP移动文件指针ftell()、fseek()、rewind()总结

    在对文件进行读写过程中,有时需要在文件中跳转.同不同位置读取,以及将数据写入到不同的位置.例如,使用文件模拟数据库保存数据,就需要移动文件指针.指针的位置是以从文件头开始的字节数度量的,默认以不同模式 ...

  3. C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind...

    由于最近经常使用到c语言中的读写文件,所以在此总结以下,方便以后查找. 在c中,文件操作都是由库函数来实现的,主要是分为读和写两种操作,以下详细讲解以下所有有关文件操作的邯郸乎的用法: //C++写入 ...

  4. C语言文件指针定位函数fseek与rewind有何区别?

    在glibc中rewind和fseek本质上都是调用了函数_IO_seekoff_unlocked,所以两者是同根同源的,在不考虑返回值的情况下调用哪个都可以,用rewind写起来简单些,用fseek ...

  5. linux c语言内核函数手册,Linux C函数实例速查手册

    函数学习目录: 第1章 初级I/O函数 1.1 close函数:关闭已经打开的文件 1.2 creat函数:创建一个文件 1.3 dup函数:复制文件描述符 1.4 dup2函数:复制文件描述符到指定 ...

  6. c语言指针移动函数,fseek c语言指针移动函数

    转自:http://hi.baidu.com/wengjiang000/item/867ead5da7d95c10abf6d736 通常文件打开后,读写位置按先后顺序.但有时你想变动读写位置,例如重新 ...

  7. fopen,fread,fseek,ftell,fclose,fileno的用法

    fopen,fread,fseek,ftell,fclose,fileno的使用介绍以及参数说明 fopen 打开一个文件,可以指定打开模式(如只读.只写.读写等)和文件名.函数原型:FILE *fo ...

  8. 随机存取:fseek(),ftell()

    随机存取:fseek(),ftell() fseek(fp,offset,pos): 文件指针定位,fp指向被打开的文件,offset为相对当前pos位置的偏移量,正数表示 向文件尾部偏移,负数表示向 ...

  9. linux 打印函数宏,linux内核中的嵌入式汇编宏函数

    在看linux内核代码时,常会遇到诸如:static inline _syscall0(int,fork)这样的函数.经查阅资料,发现该函数是嵌入式汇编宏函数. linux内核提供了7个非常有用的宏定 ...

最新文章

  1. tensorflow-gpu 常用网址
  2. oracle插入java时间,java向oracle中插入字符或时间型 时间数据
  3. 62 Celery远程调用
  4. 欢迎参与Java 事务讨论
  5. [图解]小白都能看懂的FASTER R-CNN – 原理和实现细节
  6. 463. 岛屿的周长
  7. wordpress mysql缓存_WordPress 对象缓存与数据库缓存
  8. Google 被祭天了!
  9. Atitit atimvc rest原理与自定义实现t33 目录 1.1. Web.xml 1 1.2. MvcFilter 2 1.3. jerserMeth 4 原理 过滤器 过滤即可
  10. [转载]对于WebGrid第三方控件的使用
  11. PDF文件有密码怎么解除?
  12. 视频教程-学透JavaScript-JavaScript
  13. 安卓24:Android关于日期和时间的几个相关控件DatePicker、TimePicker等
  14. 服务器总出现异常?几个小方法助你防范于未然
  15. 腾讯云阿里云4月服务器价格对比
  16. 微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
  17. 厨神之路五--粥汤类
  18. 独家揭秘!2.5亿用户的美团智能推荐平台是如何构建的?
  19. 4个基本不等式的公式高中_基本不等式公式四个叫什么名字
  20. STC 51单片机43——看门狗

热门文章

  1. quartus2管教锁定出不来_Quartus II 中常见Warning 原因及解决方法(转载)
  2. 20210620 Successive projection algorithm(连续投影法)
  3. double compare 0
  4. 洛谷 P2296 寻找道路
  5. 剑指offer(三):从尾到头打印链表
  6. python实现剑指offer删除链表中重复的节点
  7. word多出空标题,样式是列出段落 - -显示时,选择不勾选“隐藏文字”
  8. 自定义控件-侧边菜单SlidingMenu(滑动菜单)
  9. expression tree to string
  10. c#和VB混用出现的错误