Header File
io.h
Category
Input/output Routines
Prototype
long lseek(int handle, long offset, int fromwhere);
Description
Moves file pointer.
lseek sets the file pointer associated with handle to a new position offset bytes beyond the file location given by fromwhere. fromwhere must be one of the following symbolic constants (defined in io.h):
SEEK_CUR |
Current file pointer position |
SEEK_END |
End-of-file |
SEEK_SET |
File beginning |
Return Value
lseek returns the offset of the pointer’s new position measured in bytes from the file beginning. lseek returns -1L on error, and the global variable errno is set to one of the following values:
EBADF |
Bad file handle |
EINVAL |
Invalid argument |
ESPIPE |
Illegal seek on device |
On devices incapable of seeking (such as terminals and printers), the return value is undefined.
Example
#include <sys\stat.h> #include <string.h> #include <stdio.h> #include <fcntl.h> #include <io.h> int main(void) { int handle; char msg[] = "This is a test"; char ch; /* create a file */ handle = open("TEST.$$$", O_CREAT | O_RDWR, S_IREAD | S_IWRITE); /* write some data to the file */ write(handle, msg, strlen(msg)); /* seek to the beginning of the file */ lseek(handle, 0L, SEEK_SET); /* reads chars from the file until we hit EOF */ do { read(handle, &ch, 1); printf("%c", ch); } while (!eof(handle)); close(handle); return 0; }
Portability
POSIX |
Win32 |
ANSI C |
ANSI C++ |
+ |
+ |
|
|
Copyright(C) 2008 CodeGear(TM). All Rights Reserved.
|
What do you think about this topic? Send feedback!
|