Repertoire en c

dream -  
 Mika -
Bonjour,

Je voudrais savoir si il y a une fonction qui permet de savoir (en c) si un fichier est un repertoire ou non?
merci

4 réponses

nobie-cs Messages postés 155 Date d'inscription   Statut Membre Dernière intervention   17
 
je sait pas si il y a une fonction qui fait sa mais tu peut le faire de cette façon

#include <stdio.h>

int main ()
{
  FILE * pFile;
  pFile=fopen ("unexist.ent","rb");
  if (pFile==NULL)
    perror ("The following error occurred");
  else
    fclose (pFile);
  return 0;
}


si il trouve pas le fichier il affiche "The following error occurred: No such file or directory"
0
dream
 
j'ai defini un chemin qui contient le fichier a tester (jai fait le fopen :
char*path;
path=("C:\...\...\fichier.html);

FILE* pf=fopen(path,"rw");

et je dois tester si il est valide et que c'est pas un repertoire et j'ai mis

if(path==NULL || path==?)
{
printf("erreur fichier nn valide");
}

et je sais pas cooment faire la ou j'ai mis ?
0
nobie-cs Messages postés 155 Date d'inscription   Statut Membre Dernière intervention   17
 
if(path==NULL)
{
printf("erreur fichier nn valide");
}
else{
//se que tu veut faire si le chemain et valide 

} 
//fermer le fichier
0
Zestyr Messages postés 466 Date d'inscription   Statut Membre Dernière intervention   52
 
Pour savoir si un répertoire existe c'est le même principe (on essay de l'ouvrir) mais pas avec les mêmes fonctions:

    DIR* repertoire;
    
if((repertoire = opendir("bin")) == NULL)
    {
        printf("Ce repertoire n'existe pas");
    }
    else
    {
        printf("Ce repertoire existe et est ouvert");
    } 


Pour utiliser la fonction opendir il faut inclure le header dirent.h donc ajouter au prog
#include <dirent.h>


edit: noubli pas de fermer le répertoire avec closedir(repertoire);
0
alex
 
C'est du grand n'importe quoi !
On n'ouvre jamais un répertoire ou un fichier pour ça !
Ca se fait en 1 ligne de code par les fonctions standard ou apis systeme
0
Mika
 
> Configuration: Windows Vista Internet Explorer 7.0

Sous Windows avec les apis de File System (voir chez les pros https://www.ovh.co.uk/mail/ )
0