Maison >développement back-end >C++ >Comment obtenir le chemin du fichier en utilisant C++ ?
Les méthodes pour obtenir le chemin du fichier en C++ sont : 1. Utilisez la bibliothèque std::filesystem. 2. Utilisez la bibliothèque Boost. Ces méthodes peuvent être utilisées pour obtenir le chemin absolu, le répertoire racine, le répertoire parent et l'extension d'un fichier. En pratique, ces techniques peuvent être utilisées pour afficher des listes de fichiers dans les interfaces utilisateur.
Comment obtenir le chemin d'un fichier en utilisant C++
Obtenir le chemin d'un fichier en C++ est très important pour lire ou écrire des fichiers, afficher une liste de fichiers dans l'interface utilisateur ou effectuer d'autres opérations liées au système de fichiers. Il existe plusieurs façons d'y parvenir.
Méthode 1 : Utiliser la bibliothèque std::filesystem
std::filesystem
La bibliothèque fournit une interface de haut niveau pour les opérations du système de fichiers. L'exemple suivant montre comment l'utiliser :
#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; }
Méthode 2 : Utilisation de la bibliothèque Boost
La bibliothèque Boost fournit également une puissante bibliothèque de système de fichiers. L'exemple suivant montre comment l'utiliser :
#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; }
Exemple pratique : Afficher une liste de fichiers dans l'interface utilisateur
Voici un programme C++ simple qui utilise la technique ci-dessus pour afficher une liste de fichiers dans l'interface utilisateur :
#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; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!