IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Création de fichier et de dossier


Sujet :

C++

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 187
    Points : 55
    Points
    55
    Par défaut Création de fichier et de dossier
    Bonjour,
    J'ai un chemin complet d'un dossier:

    char *CheminComplet="G://Test//Nouveau Dossier//toto.txt";

    J'aimerais créer ce fichier sachant que les dossier Test et Nouveau Dossier peuvent ne pas exister, aux quel cas il faut les créer...
    Il faut donc tester si les dossiers existe, si non on le crée si oui on passe au dossier suivant etc...

    on suppose pour simplifier qu'on a les chemins coupé c'est a dire qu'on a dans d'autres variables:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
       char*chemin1="G://";
    char*chemin2="G://Test//";
    char*chemin3="G://Test//Nouveau Dossier//";
    char*chemin4="G://Test//Nouveau Dossier//toto.txt";
    Merci par avance

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    La création de répertoires ne fait pas partie des choses que sait faire la bibliothèque standard du C++, il faudra passer soit par des fonctions de ton OS, soit par des bibliothèques plus ou moins portables.

    PS : le slash n'est pas un caractère spécial, inutile de le doubler (l'anti-slash par contre, oui)

  3. #3
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Pour une utilisation assez "forte" de tout ce qui touche aux fichiers et aux répertoires, je te conseille boost.filesystem.
    Cela te permet de résoudre très facilement ton problème.

  4. #4
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 187
    Points : 55
    Points
    55
    Par défaut
    Citation Envoyé par Alp
    Pour une utilisation assez "forte" de tout ce qui touche aux fichiers et aux répertoires, je te conseille boost.filesystem.
    Cela te permet de résoudre très facilement ton problème.
    Je doi alors telecharger ce boost, et l'inclure à mon projet et utiliser les fonctions create_directory("ffffff"); et exists("ffffff");????

  5. #5
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    T'as tout compris.

  6. #6
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Boost met à disposition une documentation pour l'installation et une autre pour chaque sous-bibliothèque, comme boost.filesystem.

    Boost te permet entre autres de gérer les répertoires et fichiers comme si rien ne dépendait de l'OS, et ce avec une interface moderne, basée sur les itérateurs.

    Tu verras d'ailleurs que boost offre un tas de choses très intéressantes et très utiles -> le télécharger en vaut la peine.

  7. #7
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860

  8. #8
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 187
    Points : 55
    Points
    55
    Par défaut
    Merci bcp.
    Sinon, y'aurait il pas un autre moyen pour ce faire sachant qu je travaille sous windows???

  9. #9
    Alp
    Alp est déconnecté
    Expert éminent sénior

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Si, dirent.h je crois.

  10. #10
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Tu as aussi des fonctions de l'API Windows, comme CreateDirectory.

  11. #11
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    187
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 187
    Points : 55
    Points
    55
    Par défaut
    Oui Merci le create Directory fait l'affaire. je viens de la tester...
    Sinon pour tester si un repertoire existe ou non??? comment on peut ce faire?? Merci

  12. #12
    r0d
    r0d est déconnecté
    Expert éminent

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    4 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 4 264
    Points : 6 683
    Points
    6 683
    Billets dans le blog
    2
    Par défaut
    Le seul moyen que je connaisse avec l'API windows, c'est en utilisant FindFirstFile.
    « L'effort par lequel toute chose tend à persévérer dans son être n'est rien de plus que l'essence actuelle de cette chose. »
    Spinoza — Éthique III, Proposition VII

  13. #13
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Points : 16 213
    Points
    16 213
    Par défaut
    Pour des fichiers, il y a des choses comme _waccess, je ne sais pas si ça marche ou pas pour des répertoires. Mais je suis d'accord que boost::filesystem est bien. Le reproche que je fais dans la version que j'utilise (on n'est pas encore passé en 1.34, je ne sais pas si ça va s'arranger), c'est le manque de support pour les noms de fichiers internationaux ou longs.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

Discussions similaires

  1. Réponses: 8
    Dernier message: 19/01/2012, 15h34
  2. [PHP 5.2] Droits sur création de fichiers et dossiers
    Par Aspic dans le forum Langage
    Réponses: 0
    Dernier message: 02/07/2011, 11h07
  3. [MySQL] Création de fichier et de dossier, puis écriture sur le fichier
    Par Seddisoft dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 25/08/2008, 16h16
  4. Réponses: 2
    Dernier message: 28/11/2007, 21h02
  5. Réponses: 3
    Dernier message: 31/05/2007, 15h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo