- Platformu: Debian Hışıltılı 3.2.0-4-686-pae
- Uyan: GCC (Debian 4.7.2-5) 4.7.2 (Code :: Blocks)
Bir dosyayı bir konumdan diğerine taşımak istiyorum. Farklı sürücülere veya farklı dosya sistemlerine geçmek gibi karmaşık bir şey yoktur. Bunu yapmanın "standart" yolunu biliyorum, sadece dosyayı kopyalayıp orijinali kaldıracağım. Ama dosyanın sahipliğini, modunu, son erişimini/modifikasyonunu vb. Korumanın bir yolunu istiyorum. Dosyayı kopyalamak ve daha sonra yeni dosyanın sahipliğini, modunu vb. Düzenlemek zorunda olduğumu farz ediyorum, fakat bunun nasıl yapılacağına dair hiçbir fikrim yok. Dosya için özgün ve yeni konum aynı dosya sisteminde iseLinux üzerinde c bir dosya taşındığında
Alternatif seçenek için çok teşekkürler. –
Linux için, [sendfile] (http://man7.org/linux/man-pages/man2/sendfile.2.html) 'read', 'write' 'den daha verimli dosya sistemi sınırları arasında kopyalama için bir yöntem sağlar. . Orijinal 'sendfile'' 0x7ffff000 (2,147,479,552) baytlık boyut sınırlarına sahiptir, ancak Linux ayrıca 'sendfile64' sarmalayıcısını ofset argümanı için daha geniş bir türe ekledi. –