Not sure why yours is failing, but you're not including all of the necessary header files:
Code:
itsme@itsme:~/C$ ./lseektest
least 10 characters
itsme@itsme:~/C$ cat lseektest.c
#include <stdio.h>
#include <string.h>
#include <fcntl.h>
#include <errno.h>
int main()
{
int fp;
char buf[1];
int e;
e = 10;
fp = open("file1", O_RDONLY);
if(fp==-1){
printf("Could not open file \n");
exit(1);}
if(lseek(fp,e,SEEK_SET) == -1)
{
puts(strerror(errno));
exit(1);
}
while(read(fp,buf,1)!=0){
printf("%c",buf[0]);
}
close(fp);
return 0;
}
Code:
itsme@itsme:~/C$ gcc -Wall lseektest.c -o lseektest
lseektest.c: In function `main':
lseektest.c:17: warning: implicit declaration of function `exit'
lseektest.c:18: warning: implicit declaration of function `lseek'
lseektest.c:23: warning: implicit declaration of function `read'
lseektest.c:27: warning: implicit declaration of function `close'
itsme@itsme:~/C$ echo "this is at least 10 characters" > file1
Code:
itsme@itsme:~/C$ ./lseektest
least 10 characters
itsme@itsme:~/C$