C++:
Sprawdzanie, czy katalog istnieje
Jak to zrobić:
W nowoczesnym C++ (C++17 i nowsze) można użyć biblioteki filesystem do sprawdzenia, czy katalog istnieje. Zapewnia ona prosty i ustandaryzowany sposób na wykonanie operacji na systemie plików, w tym sprawdzenie istnienia katalogu.
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main() {
const fs::path dirPath = "/ścieżka/do/katalogu";
if (fs::exists(dirPath) && fs::is_directory(dirPath)) {
std::cout << "Katalog istnieje." << std::endl;
} else {
std::cout << "Katalog nie istnieje." << std::endl;
}
return 0;
}
Przykładowe wyjście, jeśli katalog istnieje:
Katalog istnieje.
Przykładowe wyjście, jeśli katalog nie istnieje:
Katalog nie istnieje.
Dla projektów, które jeszcze nie korzystają z C++17, lub dla dodatkowych funkcji, biblioteka Boost Filesystem jest popularnym wyborem stron trzecich, który oferuje podobną funkcjonalność.
#include <iostream>
#include <boost/filesystem.hpp>
namespace fs = boost::filesystem;
int main() {
const fs::path dirPath = "/ścieżka/do/katalogu";
if (fs::exists(dirPath) && fs::is_directory(dirPath)) {
std::cout << "Katalog istnieje." << std::endl;
} else {
std::cout << "Katalog nie istnieje." << std::endl;
}
return 0;
}
Korzystając z Boost Filesystem, wyjście byłoby identyczne jak w przykładzie z filesystem C++17, w zależności od istnienia katalogu pod określoną ścieżką.