2012-05-11 14 views
5

Ben ("path2" "path1/dosya") QFile :: kopya çalıştı QFile :: copy oluşturmak dosyanın bir kopyasını oluşturuyor veya içeriği bir dosyadan diğerine taşıyor musunuz?

C++/Qt kullanarak (bir cihazda) yerden başka bir yere bir dosyayı kopyalamak çalışıyorum;

Dosyayı path1 yol2'ye kopyalamak istiyorum. path2 dosyaya sahip değil.

Yukarıdaki kod işe yaramıyor gibi görünüyor çünkü sadece doğru yolu olup olmadığını bilmek istiyorum.

Ayrıca kopyalamayı denemeden önce bir dosya açmalı mıyım? Yardıma ihtiyacım var! Aynı dosya adıyla path2 içine path1/file kopyalamak istiyorsanız

+1

"Çalışmıyor" tanımını yapın. –

+0

Ayrıca, bu işlevi kullanma planınızın desteklendiğini belgelerinizde doğruladınız mı? http://doc.trolltech.com/4.7/qfile.html#copy –

cevap

10

yapmanız istersiniz:

QFile::copy("path1/file", "path2/file"); 

Kopya dosyanın adını değiştirmek için izin verir. Örnek:

QFile::copy("path1/file1", "path1/file2"); 

Bu nedenle dosya adını iki kez eklemeniz gerekir. Ayrıca, önce dosyayı açmak gerekli değildir. Ve başlık sorusunu cevaplamak için dosyayı kopyalar. QFile::rename() içeriği taşır.

+0

Teşekkür ederiz! Bir sorum daha var. Bu Qfile kopyası, dosyanın hedef konumda zaten mevcut olması durumunda false döndürecektir. Dosyayı ilk defa ve her zaman kaynak içeriğinin içeriği değiştirildiğinde değiştirmek istiyorum. İkinci durumda QFile rename() için gitmek zorundayım? – user1065969

+1

Hayır. Dosya zaten mevcutsa hem kopya hem de yeniden adlandırma başarısız olur. Önce hedef dosyayı silmeniz gerekir. –

+1

Bu, bir ** kaynak dosyasını ** kopyalamak için kullanılabilir mi? Örneğin, 'QFile :: copy (":/default.jpg "," data.jpg ");' mümkün mü? –

İlgili konular