×

fseek()函数的用法及其理解

前端技术网 前端技术网 发表于2024-01-01 00:00:34 浏览390 评论0

抢沙发发表评论

一、fseek函数的功能

以C语言为例,fseek函数的功能是设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。

fseek()函数的用法及其理解

c语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐。C语言编译器普遍存在于各种不同的操作系统中,例如Microsoft Windows、macOS、Linux、Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%到20%。因此,C语言可以编写系统软件。

二、函数调用语句fseek(fp,-20L,2)的含义是什么

fseek

函数名: fseek

功能:重定位流上的文件指针

用法:int fseek(FILE*stream, long offset, int fromwhere);

程序例“”

fseek()函数的用法及其理解

#include<stdio.h>

long filesize(FILE*stream);

int main(void)

{

FILE*stream;

stream= fopen("MYFILE.TXT","w+");

fprintf(stream,"This is a test");

printf("Filesize of MYFILE.TXT is%ld bytes\n", filesize(stream));

fclose(stream);

length= ftell(stream);

fseek(stream, curpos, SEEK_SET);

函数实参

函数作为另一个函数调用的实际参数出现。这种情况是把该函数的返回值作为实参进行传送,因此要求该函数必须是有返回值的。例如: printf("%d",max(x,y));即是把max调用的返回值又作为printf函数的实参来使用的。在函数调用中还应该注意的一个问题是求值顺序的问题。

所谓求值顺序是指对实参表中各量是自左至右使用呢,还是自右至左使用。对此,各系统的规定不一定相同。介绍printf函数时已提到过,这里从函数调用的角度再强调一下。

以上内容参考:百度百科-函数调用

三、fseek函数的用法是什么

fseek函数用于重定位流(数据流/文件)上的文件内部位置指针。

函数原型int fseek(FILE*stream, long offset, int fromwhere);

参数:

stream为文件流的指针

offset偏移量

fromwhere起始位置

具体功能:如果执行成功,stream将指向以fromwhere(起始位置:文件头0(SEEK_SET),当前位置1(SEEK_CUR),文件尾2(SEEK_END))为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。

扩展资料:

int fseek(FILE*stream, long offset, int fromwhere);

第一个参数file指针

第二个参数移动的偏移量

第三个参数移动到哪里

分别用3个宏

SEEK_SET既0文件开头

SEEK_CUR既1文件当前位置

SEEK_END既2文件结尾

但不推荐用数字最好用宏

参考资料来源:百度百科-fseek

四、fseek函数是怎么用的

fseek函数用于重定位流(数据流/文件)上的文件内部位置指针。

函数原型int fseek(FILE*stream, long offset, int fromwhere);

参数:

stream为文件流的指针

offset偏移量

fromwhere起始位置

具体功能:如果执行成功,stream将指向以fromwhere(起始位置:文件头0(SEEK_SET),当前位置1(SEEK_CUR),文件尾2(SEEK_END))为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。

返回值:

成功,返回0,失败返回-1,并设置errno的值,可以用perror()函数输出错误。

实例:

#include<stdio.h>

long filesize(FILE*stream);

int main(void)

{

FILE*stream;

stream=fopen("MYFILE.TXT","w+");

fprintf(stream,"This is a test");

printf("File size of MYFILE.TXT is%ld bytes\n",filesize(stream));

fclose(stream);

return 0;

}

long filesize(FILE*stream)

{

long curpos,length;

curpos=ftell(stream);

fseek(stream,0L,SEEK_END);

length=ftell(stream);

fseek(stream,curpos,SEEK_SET);

return length;

}

fseek()函数的用法及其理解和fseek函数的用法是什么的问题分享结束啦,以上的文章解决了您的问题吗?欢迎您下次再来哦!