ใน Qt ฉันจะตรวจสอบว่ามีโฟลเดอร์ที่กำหนดอยู่ในไดเรกทอรีปัจจุบันได้อย่างไร?
หากไม่มีอยู่ฉันจะสร้างโฟลเดอร์ว่างได้อย่างไร
ใน Qt ฉันจะตรวจสอบว่ามีโฟลเดอร์ที่กำหนดอยู่ในไดเรกทอรีปัจจุบันได้อย่างไร?
หากไม่มีอยู่ฉันจะสร้างโฟลเดอร์ว่างได้อย่างไร
คำตอบ:
วิธีตรวจสอบว่ามีชื่อไดเรกทอรี "โฟลเดอร์" อยู่หรือไม่:
QDir("Folder").exists();
ในการสร้างโฟลเดอร์ใหม่ชื่อ "MyFolder" ให้ใช้:
QDir().mkdir("MyFolder");
QDir::exists("absolutepath")
และQDir::mkdir(""absolutepath")
QDir::mkdir("relative_path")
เพราะมันจะชนกับไม่คงที่ เป็นไปไม่ได้ที่จะมีทั้งโอเวอร์โหลด
หากต้องการตรวจสอบทั้งว่ามีอยู่และสร้างหากไม่มีอยู่รวมถึงตัวกลาง:
QDir dir("path/to/dir");
if (!dir.exists())
dir.mkpath(".");
เมื่อคุณใช้ QDir.mkpath () มันจะคืนค่าจริงหากมีเส้นทางอยู่แล้วในอีกทางหนึ่ง QDir.mkdir () จะส่งกลับค่าเท็จหากเส้นทางนั้นมีอยู่แล้ว ขึ้นอยู่กับโปรแกรมที่คุณเลือก
คุณสามารถดูเพิ่มเติมเกี่ยวกับเอกสาร Qt
หากคุณต้องการโฟลเดอร์ว่างคุณสามารถวนซ้ำจนกว่าคุณจะได้รับโฟลเดอร์ว่าง
QString folder= QString ("%1").arg(QDateTime::currentMSecsSinceEpoch());
while(QDir(folder).exists())
{
folder= QString ("%1").arg(QDateTime::currentMSecsSinceEpoch());
}
QDir().mkdir(folder);
กรณีนี้คุณจะได้รับชื่อโฟลเดอร์พร้อมหมายเลข
ทำไมต้องใช้อะไรอย่างอื่น?
mkdir(...);