2010-02-11 18 views
124

klasöründe bir klasörün olup olmadığını kontrol etme Qt olarak, geçerli dizinde belirli bir klasörün olup olmadığını nasıl kontrol ederim?
Eğer mevcut değilse, boş bir klasör nasıl oluşturabilirim?Qt, C++

QDir().mkdir("MyFolder"); 

cevap

175

kontrol etmek için? Her iki To

mkdir(...); 
+1

Bu cevap, @ Petrucio'nun cevabı ile nasıl karşılaştırılır? Bunu dokümanlardan çıkaramıyorum. –

+0

Neden statik değil? QDir :: var ("absolutepath") ve QDir :: mkdir ("" absolutepath ")' – yalov

+0

@yalov - çünkü statik olmayan QDir :: mkdir ("relative_path") ile çakışır. Her iki aşırı yüklenmeye sahip olmak için: –

-5

Neden başka bir şey kullanın:

QDir("Folder").exists(); 

"Klasörüm" kullanım adında yeni bir klasör oluşturmak için: "Klasör" adında bir dizin kullanımını varsa

+19

taşınabilirlik (Qt'nin tüm noktasının parçası) –

103

aracılar dahil varsa kontrol edip bunları yapmazsa oluşturun:

QDir dir("path/to/dir"); 
if (!dir.exists()) { 
    dir.mkpath("."); 
} 
10

Eğer QDir.mkpath() yolu zaten varsa içeri doğru döner kullandığınızda Diğer el QDir.mkdir() yolu zaten varsa yanlış döndürür. Bu yüzden programınıza bağlı olarak hangisinin daha iyi olduğunu seçmelisiniz. Eğer döngü can boş bir klasör gerekiyorsa boş bir klasör

QString folder= QString ("%1").arg(QDateTime::currentMSecsSinceEpoch()); 
    while(QDir(folder).exists()) 
    { 
     folder= QString ("%1").arg(QDateTime::currentMSecsSinceEpoch()); 
    } 
    QDir().mkdir(folder); 

sen bir rakamla bir klasör adı alacak Bu durum elde edene kadar

Daha üzerinde Qt Documentation