Task2
#include<unistd.h>
#include<fcntl.h>
#include<stdio.h>
#include<string.h>
int main()
{
int fd,fd2,len;
if((fd=open("in.txt",O_RDWR|O_APPEND))==-1){
printf("open error");
return -1;
}
len=lseek(fd,0,SEEK_END);
if(len==-1){
printf("lseek error");
return -1;
}
printf("%d\n",len);
char buf[len+1];
if(lseek(fd,0,SEEK_SET)==-1){
printf("lseek error\n");
return -1;
}
if(read(fd,buf,len)==-1){
printf("read error");
return -1;
}
printf("%s\n",buf);
if((fd2=open("out.txt",O_RDWR|O_APPEND))==-1){
printf("open error\n");
return -1;
}
if(lseek(fd2,0,SEEK_SET)==-1){
printf("Lseek error\n");
return -1;
}
if(write(fd2,buf,len)!=len){
printf("write error");
return -1;
}
close(fd);
close(fd2);
return 0;
}
Task3
#include<unistd.h>
#include<fcntl.h>
#include<stdio.h>
int main()
{
int fd;
char buf[]="abcdefghij";
if((fd=open("test.txt",O_RDWR|O_APPEND))==-1){
printf("open error\n");
return -1;
}
if(lseek(fd,0,SEEK_SET)==-1){
printf("Lseek error\n");
return -1;
}
if(write(fd,buf,10)!=10){
printf("error write");
return -1;
}
close(fd);
if((fd=open("test.txt",O_RDWR|O_APPEND))==-1){
printf("open error");
return -1;
}
if(lseek(fd,0,SEEK_SET)==-1){
printf("lseek error\n");
return -1;
}
if(read(fd,buf,10)!=10){
printf("error read\n");
return -1;
}
printf("%s\n",buf);
close(fd);
return 0;
}