Forum Informatica Unict

LAUREA TRIENNALE (D.M. 270/04) => Sistemi Operativi, 9 CFU => Topic started by: rox on 19-06-2011, 12:44:54



Title: duplicare il contenuto di un file
Post by: rox on 19-06-2011, 12:44:54
ho provato sia con i commenti che senza commenti ...ma non funziona,come mai? logicamente in entrambi i modi sembrerebbe giusto... quello che ottengo รจ sempre lo stesso identico file...senza aggiunta di una sola stringa...
Code:
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>

int main()
{
char buffer[1024];
int dd,sd,size;
dd=open("pippo.txt",O_RDONLY|O_APPEND);
//sd=dup(dd);
size=read(dd,buffer,1024);
write(dd,buffer,size);
close(dd);
//close(sd);
}


Title: Re:duplicare il contenuto di un file
Post by: LtWorf on 24-07-2011, 15:29:03
dup duplica il descrittore di un file, non agisce sul contenuto.

Come fai a sapere che i dati da leggere sono 1024 e non oltre?

non puoi combinare assieme O_RDONLY e O_APPEND, sono opzioni contrastanti!

Potresti controllare l'output della write ad esempio per verificare se ha scritto il numero di byte richiesti o meno.