Maison >développement back-end >C++ >Comment changer le répertoire de travail actuel en C ?

Comment changer le répertoire de travail actuel en C ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-29 04:19:02433parcourir

How to Change the Current Working Directory in C  ?

Modification du répertoire de travail actuel en C

La nécessité d'ajuster le répertoire de travail actuel est souvent rencontrée lorsque l'on travaille avec des fichiers et des E/S opérations. C offre une solution indépendante de la plate-forme pour cette tâche grâce à l'utilisation de la fonction std::filesystem::current_path.

C 17 Solution : std::filesystem::current_path

En C 17, la bibliothèque std::filesystem fournit une API multiplateforme pour les opérations du système de fichiers. La fonction std::filesystem::current_path permet à la fois de récupérer et de définir le répertoire de travail actuel.

Exemple :

<code class="cpp">#include <filesystem>

int main() {
    namespace fs = std::filesystem;

    // Retrieve the current working directory
    fs::path current_path = fs::current_path();

    // Set the current working directory
    fs::current_path(current_path / "new_directory");
}</code>

Dans cet exemple, nous récupérons d'abord le répertoire de travail actuel à l'aide de la fonction current_path et stockez-le dans un objet fs::path. Nous pouvons ensuite utiliser cet objet fs::path pour définir le répertoire de travail actuel sur un nouveau chemin, dans ce cas, le sous-répertoire "new_directory".

Compatibilité

La bibliothèque std::filesystem est disponible en C 17 et versions ultérieures. Pour les anciennes versions de C , des options spécifiques à la plate-forme sont disponibles, telles que direct.h pour Windows ou unistd.h pour les systèmes UNIX/POSIX. Cependant, ces options n'ont pas la portabilité de std::filesystem::current_path.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn