Ragazzi come mai nessuna riposta?
Cmq ho da porvi questo problema:
codice:
//ESERCIZIO:
//Scrivere da standard input
//Copiare il contenuto del primo file anche nel secondo, ma in maniera inversa
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
int main()
{
int fd1,fd2,buf[90],n,c;
if((fd1=open("INIZIO.txt", O_CREAT | O_RDWR | O_TRUNC, 0644)) < 0)
printf("Si è verificato un errore alla prima open");
if((fd2=open("FINE.txt", O_CREAT | O_RDWR | O_TRUNC, 0644)) <0)
printf("Si è verificato un errore alla seconda open");
n=read(STDIN_FILENO,buf,90); //leggo da Standard Input
write(fd1,buf,n); //scrivo sul primo file
n=lseek(fd1,0,SEEK_END); //mi posiziono alla fine del file
while(n>=0){
read(fd1,&c,1); //leggo un carattere dal file INIZIO.txt
write(fd2,&c,1); //scrivo un carattere su file FINE.txt
n=lseek(fd1,-1,SEEK_CUR);
}
close(fd1);
close(fd2);
exit(0);
}
In questo esercizio scrivo in ORIGINE.txt e poi quello scritto in esso lo copio in maniera inversa su FINE.txt. Ora siccome non mi è chiaro l'uso di lseek probabile che ho sbagliato qualcosa nei parametri. Mi date una mano, perfavore?