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 :

Utilisation de mkdir


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2008
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2008
    Messages : 165
    Par défaut Utilisation de mkdir
    Bonjour,

    Cela fait longtemps que je n’ai pas programmé en C++ et je tente de reprendre.

    J’essaye de créer un programme qui nécessite la création d’un nouveau dossier.
    Malheureusement, cela crée des dysfonctionnements et des incompréhensions que j’essaye de lever.

    Voici un exemple succinct:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include <stdlib.h>
    #include <sys/dir.h>
     
    using namespace std;
     
    int mkdir(const char*pathname, mode_t mode);
     
    int main(int argc, char **argv)
    {
           mkdir("test",0777);
    }
    Si je commente la ligne*7, le compilateur (g++) m’indique que mkdir n’est pas déclaré. Je ne me souviens pas et n’ai pas trouvé sur internet qu’il y avait obligation de le faire. Faut-il le faire pour toutes les fonctions ajoutées ?
    Si elle est décommentée, j’ai un message m’indiquant référence indéfinie vers « mkdir(char const*, unsigned int) »

    Auriez-vous des réponses à ces questions ?

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 153
    Billets dans le blog
    4
    Par défaut
    Où se trouve l'implémentation de mkdir ?
    Une fonction doit bien entendue être déclarée, pour que le compilateur sache qu'elle existe, mais aussi implémentée pour que l'éditeur de lien puisse générer son appel dans l'exécutable final...

    Ce genre de fonctions ne sont pas standards. Je suppose que tu es sous Unix vu le header sys/dir.h, si tu te limites à Unix tu peux directement utiliser un appel system. Sinon faut trouver le header correct (dir.h semble juste gérer la lecture et le parcours de dossiers). Peut-être sys/stat.h ?
    boost::filesystem par exemple
    std::experimental::filesystem bientôt validé ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre très actif
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2008
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2008
    Messages : 165
    Par défaut
    Citation Envoyé par Bousk Voir le message
    Où se trouve l'implémentation de mkdir ?
    sys/stat.h
    Fonctionne parfaitement.

    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. utilisation de mkdir
    Par Marc31 dans le forum Langage
    Réponses: 10
    Dernier message: 08/03/2018, 13h40
  2. [PHP 5.4] Utilisation de l'instruction mkdir
    Par Dawlon dans le forum Langage
    Réponses: 3
    Dernier message: 08/04/2013, 15h05
  3. utiliser la fonction mkdir
    Par laurentSc dans le forum Langage
    Réponses: 2
    Dernier message: 22/01/2010, 11h11
  4. Réponses: 6
    Dernier message: 19/05/2006, 10h39
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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