Repertoire en c

Fermé
dream - 22 nov. 2009 à 11:00
 Mika - 23 nov. 2009 à 14:54
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 samedi 21 novembre 2009 Statut Membre Dernière intervention 15 mai 2010 17
22 nov. 2009 à 11:12
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
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 samedi 21 novembre 2009 Statut Membre Dernière intervention 15 mai 2010 17
22 nov. 2009 à 11:24
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 mercredi 12 août 2009 Statut Membre Dernière intervention 17 octobre 2011 52
22 nov. 2009 à 11:31
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
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
> 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