ตรวจสอบว่ามีไดเร็กทอรีหรือไม่

C++:
ตรวจสอบว่ามีไดเร็กทอรีหรือไม่

วิธีการ:

ใน C++ รุ่นปัจจุบัน (C++17 และหลังจากนั้น) คุณสามารถใช้ไลบรารีระบบไฟล์เพื่อตรวจสอบว่ามีไดเรกทอรีอยู่หรือไม่ มันให้วิธีการที่ตรงไปตรงมาและมีมาตรฐานในการดำเนินการกับระบบไฟล์ รวมถึงการตรวจสอบว่ามีไดเรกทอรีอยู่หรือไม่

#include <iostream>
#include <filesystem>

namespace fs = std::filesystem;

int main() {
    const fs::path dirPath = "/path/to/directory";

    if (fs::exists(dirPath) && fs::is_directory(dirPath)) {
        std::cout << "The directory exists." << std::endl;
    } else {
        std::cout << "The directory does not exist." << std::endl;
    }

    return 0;
}

ตัวอย่างผลลัพธ์หากมีไดเรกทอรีอยู่:

The directory exists.

ตัวอย่างผลลัพธ์หากไม่มีไดเรกทอรีอยู่:

The directory does not exist.

สำหรับโปรเจ็กต์ที่ยังไม่ใช้ C++17 หรือสำหรับคุณสมบัติเพิ่มเติม ไลบรารี Boost Filesystem เป็นตัวเลือกยอดนิยมจากบุคคลที่สามที่มีฟังก์ชันคล้ายคลึงกัน

#include <iostream>
#include <boost/filesystem.hpp>

namespace fs = boost::filesystem;

int main() {
    const fs::path dirPath = "/path/to/directory";

    if (fs::exists(dirPath) && fs::is_directory(dirPath)) {
        std::cout << "The directory exists." << std::endl;
    } else {
        std::cout << "The directory does not exist." << std::endl;
    }

    return 0;
}

หากใช้ Boost Filesystem ผลลัพธ์จะเหมือนกับตัวอย่างของระบบไฟล์ C++17 ขึ้นอยู่กับว่ามีไดเรกทอรีอยู่ที่เส้นทางที่ระบุหรือไม่