fseek和ftell以及lseek函数的功能
时间: 2023-09-11 14:05:01 浏览: 144
APUE读书笔记
4星 · 用户满意度95%
fseek和ftell是C语言标准库stdio.h中提供的文件操作函数。它们用于在文件中移动文件指针,以便在文件中读取或写入数据。
fseek函数的原型如下:
```
int fseek(FILE *stream, long int offset, int whence);
```
其中,stream是文件指针,offset是偏移量,whence表示偏移量的起始位置。whence有三个取值:
- SEEK_SET:从文件开头开始偏移
- SEEK_CUR:从文件指针当前位置开始偏移
- SEEK_END:从文件结尾开始偏移
fseek函数的作用是将文件指针移动到距离起始位置(或当前位置、结尾位置)offset个字节的位置。如果操作成功,返回0;否则,返回非0值。
ftell函数的原型如下:
```
long int ftell(FILE *stream);
```
ftell函数返回文件指针当前的位置,即文件指针距离文件开头的字节数。如果操作失败,返回-1。
lseek函数是Linux系统中提供的文件操作函数,其原型如下:
```
off_t lseek(int fd, off_t offset, int whence);
```
其中,fd是文件描述符,offset是偏移量,whence与fseek函数中的定义相同。lseek函数的作用与fseek相同,用于在文件中移动文件指针。如果操作成功,返回新的文件指针位置;否则,返回-1。lseek函数常用于Linux系统下的文件操作。
阅读全文