首页系统fseek函数?c语言中fseek是什么意思

fseek函数?c语言中fseek是什么意思

编程之家2024-05-13103次浏览

一、fseek函数的用法

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

fseek函数?c语言中fseek是什么意思

函数原型intfseek(FILE*stream,longoffset,intfromwhere);

参数:

stream为文件流的指针

offset偏移量

fromwhere起始位置

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

fseek函数?c语言中fseek是什么意思

扩展资料:

intfseek(FILE*stream,longoffset,intfromwhere);

第一个参数file指针

第二个参数移动的偏移量

第三个参数移动到哪里

分别用3个宏

fseek函数?c语言中fseek是什么意思

SEEK_SET既0文件开头

SEEK_CUR既1文件当前位置

SEEK_END既2文件结尾

但不推荐用数字最好用宏

二、fseek函数作用

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

注意:文件指针指向文件/流。位置指针指向文件内部的字节位置,随着文件的读取会移动,文件指针如果不重新赋值将不会改变或指向别的文件。

如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置,函数返回0。如果执行失败(比如offset取值大于等于2*1024*1024*1024,即long的正数范围2G),则不改变stream指向的位置,函数返回一个非0值。

三、c语言seek函数使用方法

回答如下:在C语言中,`seek`函数是用来移动文件指针的函数,用于定位文件中的读写位置。它的使用方法如下:

```c

#include<stdio.h>

intfseek(FILE*stream,longintoffset,intorigin);

```

`fseek`函数有三个参数:

-`stream`:指向要进行移动操作的文件流指针。

-`offset`:移动的字节数,可以为正数或负数,正数表示向文件尾方向移动,负数表示向文件头方向移动。

-`origin`:指定起始位置。它可以是以下三个值之一:

-`SEEK_SET`:从文件起始位置开始。

-`SEEK_CUR`:从当前位置开始。

-`SEEK_END`:从文件末尾位置开始。

`fseek`函数的返回值为0表示成功,非0表示失败。失败的原因可能是文件指针无效或者文件流不可移动。

以下是一些`fseek`函数的使用示例:

1.从文件起始位置向后移动10个字节:

```c

FILE*fp=fopen("file.txt","r");

fseek(fp,10,SEEK_SET);

```

2.从当前位置向前移动5个字节:

```c

FILE*fp=fopen("file.txt","r");

fseek(fp,-5,SEEK_CUR);

```

3.从文件末尾位置向前移动20个字节:

```c

FILE*fp=fopen("file.txt","r");

fseek(fp,-20,SEEK_END);

```

注意事项:

-使用`fseek`函数前,需要先打开文件,并通过`fopen`函数获取文件指针。

-`fseek`函数只能用于二进制文件和文本文件,不能用于目录或设备文件。

-在对文件进行读写操作之前,应该先使用`fseek`函数进行定位。

uniqueidentifier(什么是uniqueidentifier)小米手机数据线接口(小米数据线接口)