Linux 函数--fseek
fseek(移动文件流的读写位置)
相关函数 rewind,ftell,fgetpos,fsetpos,lseek
表头文件 #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()来取得目前读写的位置。
范例 #include<stdio.h>
main()
{
FILE * stream;
long offset;
fpos_t pos;
stream=fopen(“/etc/passwd”,”r”);
fseek(stream,5,SEEK_SET);
printf(“offset=%d/n”,ftell(stream));
rewind(stream);
fgetpos(stream,&pos);
printf(“offset=%d/n”,pos);
pos=10;
fsetpos(stream,&pos);
printf(“offset = %d/n”,ftell(stream));
fclose(stream);
}
执行 offset = 5
offset =0
offset=10
Linux 函数--fseek相关推荐
- linux函数的阻塞与非阻塞IO及错误处理
linux函数的阻塞与非阻塞IO及错误处理 1.阻塞是指进程等待某一个事件的发生而处于等待状态不往下执行,如果等待的事件发生了则会继续执行该进程.调用系统阻塞函数可能会导致进程阻塞进入睡眠状态. 2. ...
- Linux函数exec
Linux函数exec 一.概述: 当用fork函数创建新的子进程后,子进程往往要调用一种exec函数以执行另一个程序.当程序调用一种exec函数时,该进程执行的程序完全替换为新程序,而新程序则从其m ...
- 中文在线Linux函数参考手册
Linux函数 http://www.iteedu.com/os/ http://net.pku.edu.cn/~yhf/linux_c/ linux命令 http://www.iteedu.com/ ...
- 函数fseek() 用法
每天进步一点点–>函数fseek() 用法 在阅读代码时,遇到了很早之前用过的fseek(),很久没有用了,有点陌生,写出来以便下次查阅. 函数功能是把文件指针指向文件的开头,需要包含头文件st ...
- linux rewind函数,fseek(),ftell()和rewind()函数的用法详解
转自:http://blog.csdn.net/lijun5635/article/details/14210181 功 能 重定位流( 数据流/文件)上的 文件内部位置 指针 注意:不是 定位文件指 ...
- 十二、Linux文件 - fseek函数讲解
目录 一.fseek函数讲解 二.fseek函数实战 一.fseek函数讲解 重定向文件内部的指针 注:光标 ---- 文件内部的指针 函数原型: int fseek(FILE *stream,lon ...
- linux 函数 缩小文件,linux文件系统的处理函数
文件系统 通用:rename(原路径名,新路径名); 修改文件名 remove(路径名); 删除文件或路径 symlink(原路径名,符号链接名); 建立文件或路径的软链接 access ...
- linux 创建路径函数,Linux函数库的创建方法(2)
2. 静态库的创建与使用 静态库本质就是一组 .o 组成的压缩文件,扩展名为 .a / .lib 代码如下: ar -crv libXXX.a mmmm.o nnnn.o XXX 是库名,mmmm.o ...
- linux 无法找到函数定义,找到定义Linux函数的位置
使用手册页 对于基本的C函数,该手册页应该工作. man 2 read man 3 printf 第2节为系统调用(直接到内核),而第3是用于标准C库调用.您通常可以省略该部分,并且人将自己弄清楚您需 ...
最新文章
- java中memcached
- [GDAL]写入shp
- Java黑皮书课后题第1章:1.2(显示五条消息)编写程序,显示以下表格
- SAP Spartacus界面看不到Carousel左右移动控件的一个可能原因
- JavaBean的详细及引用
- python语言变量随时声明_2. Go语言五种变量创建的方法
- 用msvdm.dll文件实现微软的虚拟桌面
- Tiktok代运营才是跨境卖家的未来?别再错过这个风口了!
- Fedora 14 Error: Cannot retrieve repository metadata (repomd.xml) for repository
- 2022年信息安全从业者书单推荐(2022.2.20更新)
- 新知实验室 TRTC在线上教育场景中的一种应用实践
- 今日头条前端三轮面试面经
- html手机和电脑一致,浏览器兼容性(手机、电脑。js、html、css)
- 架构师多如过江之鲫,但你真的了解架构师这个工种吗?
- 职称计算机Word2003是考什么,职称计算机考试:word2003考点
- 数据挖掘项目_挖掘社区项目
- 如何解决Visual Studio2010 编译时提示系统找不到指定文件问题
- 老罗的android之旅
- 5. 找出每个学生超过他选修课程平均成绩的课程号。
- WINDOWS程式设计--声音与音乐