fseek,ftell,rewind函数
#include <stdio.h>
int fseek(FILE *stream, long offset, int whence);
将stream所代表的文件的指针,从whence开始移动offset个字节(offset可以是负数,代表向前移动)。
参数whence有以下3种宏定义:
SEEK_SET:起始位置
SEEK_CUR:当前位置
SEEK_END:文件末尾
linux系统自带的lseek用法与fseek大同小异,只是lseek的返回值是有意义的,代表文件当前指针的位置。
long ftell(FILE *stream);
返回当前文件指针位置。
void rewind(FILE *stream);
将当前文件指针置于文件开头。
代码演示如下:
#include "./common/head.h"int main(int argc, char *argv[])
{FILE *fp = fopen(argv[1], "r+"); //可读可写if(!fp){perror("fopen");exit(1);}//替换文件前两个字符为ABfputc('A', fp);fputc('B', fp);rewind(fp); //文件指针回到文件头,相当于fseek(fp, 0, SEEK_SET);fseek(fp, -3, SEEK_END); //文件指针从文件未尾向前移动3位(vim编辑的文件,会自动在末尾加一个换行)//文件末尾的两个字符(不包括换行),被替换成abfputc('a', fp);fputc('b', fp);fseek(fp, 0, SEEK_END); //文件指针移动到文件尾printf("fileSize = %ld\n", ftell(fp)); //打印文件大小fclose(fp);return 0;
}
拓展:
向终端输出时,也可以用glibc库的函数进行操作(同理向终端输入也一样),例如:
fputc('a', stdout); //向终端输出一个字符’a'
此外,fprintf函数向文件中输出格式字符串,这一类函数大同小异,都是通过FILE *类型的句柄,对文件进行操作。
fseek,ftell,rewind函数相关推荐
- fseek ftell rewind stat 等函数,实现获取文件大小
fseek ftell rewind stat 等函数,实现获取文件大小 fseek()函数:int fseek(FILE *stream, long int offset, int whence) ...
- fseek/ftell/rewind/fgetpos/fsetpos函数使用-linux
程序: #include<stdio.h> int main(int argc,char *argv[]) { FILE * stream; fpos_t pos; stream = fo ...
- linux rewind函数,fseek(),ftell()和rewind()函数的用法详解
转自:http://blog.csdn.net/lijun5635/article/details/14210181 功 能 重定位流( 数据流/文件)上的 文件内部位置 指针 注意:不是 定位文件指 ...
- C语言fseek、ftell和rewind函数详解
对于文件的读写方式,C 语言不仅支持简单地顺序读写方式,还支持随机读写(即只要求读写文件中某一指定的部分).对顺序读写方式来说,随机读写方式需要将文件内部的位置指针移动到需要读写的位置再进行读写,这通 ...
- PHP移动文件指针ftell()、fseek()、rewind()总结
在对文件进行读写过程中,有时需要在文件中跳转.同不同位置读取,以及将数据写入到不同的位置.例如,使用文件模拟数据库保存数据,就需要移动文件指针.指针的位置是以从文件头开始的字节数度量的,默认以不同模式 ...
- C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind...
由于最近经常使用到c语言中的读写文件,所以在此总结以下,方便以后查找. 在c中,文件操作都是由库函数来实现的,主要是分为读和写两种操作,以下详细讲解以下所有有关文件操作的邯郸乎的用法: //C++写入 ...
- C语言lseek()函数和 fseek()函数 rewind函数
lseek():移动文件读写位置 头文件: #include <sys/types.h> #include <unistd.h> 定义函数: off_t lseek(int f ...
- C语言rewind函数返回值为空,C语言rewind和fseek函数的用法详解(随机读写文件)...
前面介绍的文件读写函数都是顺序读写,即读写文件只能从头开始,依次读写各个数据.但在实际开发中经常需要读写文件的中间部分,要解决这个问题,就得先移动文件内部的位置指针,再进行读写.这种读写方式称为随机读 ...
- C语言文件指针定位函数fseek与rewind有何区别?
在glibc中rewind和fseek本质上都是调用了函数_IO_seekoff_unlocked,所以两者是同根同源的,在不考虑返回值的情况下调用哪个都可以,用rewind写起来简单些,用fseek ...
- linux fputc fgetc fseek rewind 函数
目录 前言 fputc 函数 fgetc 函数 fseek函数 rewind函数 前言 <sprintf fprintf 函数 > 前一节讲了 sprintf fprintf 函数 的缓存 ...
最新文章
- Google的预训练模型又霸榜了,这次叫做T5(附榜单)
- bzoj 2326: [HNOI2011]数学作业
- Seetaface 向树莓派 移植
- docker 运行 php nginx_docker搭建nginx+mysql+php
- shell 数学运算
- 在银行存款被吞了,怎么能快速解决?
- 架构设计分布式数据结构与算法面试题
- 【Gym - 101775J】Straight Master(差分,思维)
- 统计数字字符个数(信息学奥赛一本通-T1129)
- Eclipse导入Android Project遇到的问题
- Google 亚马逊又双叒叕打架了!用户:我只想安静地用产品
- 为什么每次开机第一次启动程序会很慢?
- vmware中nat模式上网
- pygame.mixer.music
- 多边形Polygon
- (转载)视频采集学习笔记
- ElasticSearch中should怎么没用
- python分析比赛_实战项目练习 ---- 【2018世界杯】用python分析夺冠球队
- 整体大于部分_在整体与部分之间(2)
- python哈姆雷特词频统计_人生苦短我用Python——哈姆雷特词频统计