#include <sys/types.h>
#include <unistd.h>
off_t lseek(int fd, offset, int whence)
说明:若成功返回新的文件偏移量(绝对偏移量),若出错位-1
功能:定位一个已打开的新文件
- fd:已打开文件描述符
- offset:位移量
- whence:定位的位置
SEEK_SET:将文件的位移量设置为距文件开始处offset个字节
SEEK_CUR:将文件的位移量设置为当前值的offset,offset可为正或负
SEEK_END:将文件的位移量设置为文件的长度加上offset,offset可为正或负
示例:
#include<stdio.h>
#include<stdlib.h>
#include<sys/types.h>
#include<unistd.h>
#include <sys/stat.h>
#include <fcntl.h>
void main()
{
int add_len = 1024*8;
int fd=open("test.txt",O_RDWR);
if(fd == -1)
{
perror("open test.txt");
exit(-1);
}
lseek(fd,add_len-1,SEEK_END);
write(fd,"0",1);
}