Tworzę pliki 1.txt
2.txt
i zapisuję niektóre treści w 1.txt
.
Następnie używam poniższego kodu i chcę skopiować zawartość do 2.txt
.
Ale to nie działa. Nie ma niczego w 2.txt
.sendfile nie kopiuje zawartości pliku
Czy możesz wyjaśnić mój błąd?
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;
}
To jest oznaczone 'C', ale wyraźnie z użyciem strumieni C++. Nie rób tego. – unwind
Przeniesiony do C++. ;) –
Ponieważ korzystam z API C linux - "sendfile", więc użyłem "C". I zwrócę na to uwagę. Dziękuję! – Tengchao