Heim > Artikel > Backend-Entwicklung > Wie erhalte ich den Dateipfad mit C++?
Die Methoden zum Abrufen des Dateipfads in C++ sind: 1. Verwenden Sie die std::filesystem-Bibliothek. 2. Verwenden Sie die Boost-Bibliothek. Mit diesen Methoden können der absolute Pfad, das Stammverzeichnis, das übergeordnete Verzeichnis und die Erweiterung einer Datei ermittelt werden. In der Praxis können diese Techniken zur Anzeige von Dateilisten in Benutzeroberflächen verwendet werden.
So erhalten Sie den Dateipfad mit C++
Das Abrufen des Dateipfads in C++ ist sehr wichtig zum Lesen oder Schreiben von Dateien, zum Anzeigen einer Liste von Dateien in der Benutzeroberfläche oder zum Ausführen anderer dateisystembezogener Vorgänge. Es gibt mehrere Möglichkeiten, dies zu erreichen.
Methode 1: std::filesystem-Bibliothek verwenden
std::filesystem
Die Bibliothek bietet eine High-Level-Schnittstelle für Dateisystemoperationen. Das folgende Beispiel zeigt die Verwendung:
#include <iostream> #include <filesystem> namespace fs = std::filesystem; int main() { fs::path path_to_file = "/tmp/example.txt"; // 获取文件的绝对路径 std::cout << "Absolute path: " << path_to_file.absolute() << std::endl; // 获取文件的根目录 std::cout << "Root directory: " << path_to_file.root_path() << std::endl; // 获取文件的父目录 std::cout << "Parent directory: " << path_to_file.parent_path() << std::endl; // 获取文件的扩展名 std::cout << "Extension: " << path_to_file.extension().string() << std::endl; return 0; }
Methode 2: Verwendung der Boost-Bibliothek
Die Boost-Bibliothek bietet auch eine leistungsstarke Dateisystembibliothek. Das folgende Beispiel demonstriert die Verwendung:
#include <boost/filesystem.hpp> int main() { boost::filesystem::path path_to_file = "/tmp/example.txt"; // 获取文件的绝对路径 std::cout << "Absolute path: " << path_to_file.generic_string() << std::endl; // 获取文件的根目录 std::cout << "Root directory: " << path_to_file.root_directory() << std::endl; // 获取文件的父目录 std::cout << "Parent directory: " << path_to_file.parent_path() << std::endl; // 获取文件的扩展名 std::cout << "Extension: " << path_to_file.extension() << std::endl; return 0; }
Praktisches Beispiel: Anzeigen einer Liste von Dateien in der Benutzeroberfläche
Hier ist ein einfaches C++-Programm, das die obige Technik verwendet, um eine Liste von Dateien in der Benutzeroberfläche anzuzeigen:
#include <iostream> #include <filesystem> int main() { // 获取当前工作目录 std::filesystem::path current_path = std::filesystem::current_path(); // 获取目录中的所有文件 std::vector<std::string> files; for (const auto& entry : std::filesystem::directory_iterator(current_path)) { if (entry.is_regular_file()) { files.push_back(entry.path().string()); } } // 显示文件列表 std::cout << "Files in the current directory:" << std::endl; for (const auto& file : files) { std::cout << " - " << file << std::endl; } return 0; }
Das obige ist der detaillierte Inhalt vonWie erhalte ich den Dateipfad mit C++?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!