SCR/SCR1.2/TP11/get_numb.c
2023-03-30 11:18:50 +02:00

37 lines
752 B
C

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#define SZBUF 256
int main(int argc, char const *argv[]){
int fd,n,l,x;
long int i, offset;
if (argc<3){
fprintf(stderr,"Usage : %s <file_name> <offset> \r",argv[0]);
exit (1);
} fd=open (argv[1], O_RDONLY);
if (fd==-1){
perror("Opening destination file fails");
exit (2);
} i=strtol(argv[2],NULL,0);
offset=i*(sizeof(int));
l=lseek(fd,offset,SEEK_SET);
if(l==1){
perror("lsink failed");
close(fd);
exit (3);
}
n=read(fd,&x,sizeof(int));
if(n==-1){
perror("Read in file failed");
close(fd);
exit (4);
} if(n==0){
printf("Out of range\n");
} else{
printf("The number at offset %ld is 0x%08x --> %d \n",i,x,x);
} close(fd);
exit(0);
}