Tôi tạo tệp 1.txt
2.txt
và viết một số nội dung vào 1.txt
.
Sau đó, tôi sử dụng mã bên dưới và muốn sao chép nội dung sang 2.txt
.
Nhưng nó không hoạt động. Không có gì trong số 2.txt
.sendfile không sao chép nội dung tệp
Bạn có thể giải thích sai lầm của mình không?
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;
}
này được gắn thẻ 'c', nhưng rõ ràng sử dụng dòng C++. Đừng làm thế. – unwind
Đã chuyển sang C++. ;) –
Bởi vì tôi sử dụng API C Linux - "sendfile", vì vậy tôi đã ghi "C". Và tôi sẽ chú ý đến điều này.Cảm ơn bạn! – Tengchao