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

MFC Discussion :

Comment tester la validité d'un répertoire?


Sujet :

MFC

  1. #1
    Membre éprouvé
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Points : 1 128
    Points
    1 128
    Par défaut Comment tester la validité d'un répertoire?
    Bonsoir,

    J'ai une petite préocupation. N'existe-t-il pas une fonction standard du C++ qui teste si un répertoire est valide ou pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    const char* directory = "C:\\Documents and Settings\\litsani.g\\My Documents\\My Visual C++";
     
    if( std_function(directory) == true)
    {
           cout << "ce répertoire est valide" << endl;
    }
    else
    {
           cout << "ce répertoire n'est pas valide" << endl;
    }
    Quel est cette fonction standard si elle existe et elle est définit dans quelle bibliothèques?

    Ou que serait la construction d'une fonction semblable pour teste la validité d'un répertoire.

    Thanks

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    salut,
    PathFileExists
    Determines whether a path to a file system object such as a file or directory is valid.
    BOOL PathFileExists(
    LPCTSTR pszPath
    );

  3. #3
    Membre éprouvé
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Points : 1 128
    Points
    1 128
    Par défaut
    Merci beaucoup,

    j'ai aussi trouver ceci.

    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt__chdir.2c_._wchdir.asp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    #include <direct.h>
    #include <stdio.h>
    #include <stdlib.h>
     
    int main( int argc, char *argv[] )
    {
       if( _chdir( argv[1] )   )
          printf( "Unable to locate the directory: %s\n", argv[1] );
       else
          system( "dir *.exe");
    }
    avec la fonction _chdir() on fait une tentative de changer de répertoire.

    Thanks

  4. #4
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    a ce moment la il est preferable d'utiliser l'api 32 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    BOOL SetCurrentDirectory(
      LPCTSTR lpPathName   // new directory name
    );

  5. #5
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Points : 16 075
    Points
    16 075
    Par défaut
    ou bien d'utiliser GetFileAttributes, fait pour ca, sauf que ce n'est pas du C standard.
    Pour une bibliotheque standard, utiliser _access

  6. #6
    Membre éprouvé
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Points : 1 128
    Points
    1 128
    Par défaut
    Merci les pro.

    Au fait, je cherchais les équivalents des fonctions standards du C++ pour la manipulation des fichiers et répertoires sous Windows et sous Linux.

    Car je dois écrire un programme sous Linux en C++ qui fasse un peu l' équivalent de CFileFind des MFC.

    Mais ce n'est pas facile pour moi. Car les fichiers standards de la bibliothèques sous Windows et Linux ne portent pas le même nom.

    Par exemple _mkdir se trouve dans <direct.h> sous Windows et mkdir se trouve dans <sys/stat.h> sous Linux. Et j'ai un mal de chien à retrouver ces fichiers sous Linux lorsque je connais leurs .h sous Windows.

    Thanks

Discussions similaires

  1. [VB.NET] Comment tester la validité d'une date ?
    Par Zefree dans le forum ASP.NET
    Réponses: 5
    Dernier message: 15/12/2012, 15h49
  2. [PDF] Comment tester la validité d'un PDF
    Par molarisapa dans le forum Documents
    Réponses: 0
    Dernier message: 02/12/2008, 16h44
  3. Réponses: 10
    Dernier message: 16/05/2008, 19h29
  4. Comment tester la validité des nombres réels ?
    Par linda80 dans le forum Langage
    Réponses: 4
    Dernier message: 15/10/2007, 17h47
  5. Comment tester la validité d'une adresse mail
    Par jmoez dans le forum Oracle
    Réponses: 1
    Dernier message: 19/04/2006, 13h00

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