C语言 fseek()
时间: 2024-08-16 15:01:59 浏览: 35
`fseek()`是C语言标准库函数的一部分,它用于改变文件位置指针(file position indicator,通常简称为`fp`)的位置,以便于后续的文件读写操作。这个函数在处理二进制文件流时特别有用,它接受三个参数:
1. 文件指针(FILE *stream),指向需要移动位置的文件。
2. 移动的偏移量(long int offset),可以是一个整数,表示从当前位置开始向前或向后移动的字节数。如果为正数,代表向文件末尾前进;如果是负数,代表向文件开头前进;0则表示到达当前位置(不一定移动)。
3. 指定移动的起始基准点,可以是三种标志之一:
- SEEK_SET 或 0:从文件的开始位置(默认)。
- SEEK_CUR 或 1:从当前位置开始。
- SEEK_END 或 2:从文件的结束位置开始。
`fseek()`函数会更新`fp`的位置,但是不会实际读取或写入数据,只是改变了指示文件读写起点的位置。如果成功,该函数返回0;失败时会返回非零值,并设置错误状态标志。
相关问题
c语言fseek函数
fseek函数是C语言中用于移动文件指针位置的函数。它的原型如下:
```c
int fseek(FILE *stream, long offset, int origin);
```
fseek函数的作用是将文件指针stream指向的文件位置设置为offset和origin所确定的位置。其中,offset表示相对于origin的偏移量,origin可以取以下值:
- SEEK_SET:从文件起始位置开始偏移offset个字节。
- SEEK_CUR:从当前文件指针位置开始偏移offset个字节。
- SEEK_END:从文件末尾位置开始偏移offset个字节。
该函数的返回值为0表示成功,非零值表示失败。使用fseek函数可以在文件中进行随机访问,读取或写入指定位置的数据。
C语言fseek函数
fseek函数是C语言标准库中的一个函数,它用于重新设置文件内部指针的位置。该函数原型如下:
```c
int fseek(FILE *stream, long offset, int fromwhere);
```
其中,stream是指向文件的指针;offset是要设置的偏移量;fromwhere指定了偏移量是相对于哪个位置进行计算的,可以取以下三个值:
- SEEK_SET:从文件开头开始计算偏移量
- SEEK_CUR:从当前位置开始计算偏移量
- SEEK_END:从文件末尾开始计算偏移量
fseek函数的返回值为0表示成功,非零值表示失败。
示例代码中展示了fseek函数的使用。首先向文件中写入了10个字节的数据,然后使用fseek函数实现了不同位置的读取:
1. 正常读取文件前2个字节:先打开文件,然后使用fread函数读取前2个字节,并打印出来。
2. 跳过4字节后再读取2个字节:再次打开文件,使用fseek函数跳过4字节,然后使用fread函数读取2个字节,并打印出来。
阅读全文