Creo i file 1.txt
2.txt
e scrivi del contenuto in 1.txt
.
Quindi io uso il codice qui sotto e voglio copiare il contenuto in 2.txt
.
Ma non funziona. Non c'è nulla in 2.txt
.sendfile non copia il contenuto del file
Puoi spiegare il mio errore?
int main()
{
int fd1 = open("1.txt",O_RDWR);
int fd2 = open("2.txt",O_RDWR);
struct stat stat_buf ;
fstat(fd1,&stat_buf);
ssize_t size = sendfile(fd1,fd2,0,stat_buf.st_size);
cout<<"fd1 size:"<<stat_buf.st_size<<endl; //output 41
cout<<strerror(errno)<<endl; //output success
close(fd1);
close(fd2);
return 0;
}
Questo è etichettato 'c', ma è chiaro che utilizzando i flussi C++. Non farlo. – unwind
Trasferito in C++. ;) –
Perché uso l'API C linux - "sendfile", così ho organizzato "C". E presterò attenzione a questo. Grazie! – Tengchao