בדיקה אם ספרייה קיימת

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 היא בחירה פופולרית של צד שלישי המציעה פונקציונליות דומה.

#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, הפלט יהיה זהה לדוגמא ב-C++17 תלוי בקיומה של הספרייה בנתיב המצוין.