begin process at 2012 05 27 16:19:54
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Fichiers / Disque

 > FICHIER_EXISTE

FICHIER_EXISTE


 Information sur la source

Note :
3 / 10 - par 1 personne
3,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Fichiers / Disque Classé sous :fichier, existance, test Niveau :Débutant Date de création :05/03/2003 Date de mise à jour :05/03/2003 13:43:21 Vu :4 951

Auteur : aarriba59

Ecrire un message privé
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 Description

permet de savoir si un fichier existe

Source

  • # include <iostream>
  • # include <fstream>
  • bool fichier_existe (char nom[50])
  • {
  • ifstream fichier;
  • cout<<"entrez le nom d'un fichier "<< endl;
  • cin>>nom;
  • fichier.open(nom);
  • if (fichier.fail())
  • return false;
  • else
  • {
  • fichier.close();
  • return true;
  • }
  • }
# include <iostream>
# include <fstream>

bool fichier_existe (char nom[50])
{
  ifstream  fichier;
  cout<<"entrez le nom d'un fichier "<< endl;
  cin>>nom;
  fichier.open(nom);
  if (fichier.fail())
           return false;
   else
   {
      fichier.close();
      return true;
    }
}


 Conclusion

un essai


 Sources de la même categorie

COMPTER LE NOMBRE DE PAGES D'UN FICHIER PDF par Renfield
Source avec Zip Source avec une capture GENERE BMP par lajouad
Source avec Zip Source avec une capture GETIONNAIRE D'UNE BIBLIOTHÉQUE EN C par benzarabel
FONCTION D'ÉDITION DE FICHIER BIT À BIT [C-MULTIPLATEFORME] par lynxtyle
Source avec Zip Source avec une capture UN GESTIONNAIRE DU FICHIER par benzarabel

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture GENERE BMP par lajouad
Source avec Zip Source avec une capture GETIONNAIRE D'UNE BIBLIOTHÉQUE EN C par benzarabel
FONCTION D'ÉDITION DE FICHIER BIT À BIT [C-MULTIPLATEFORME] par lynxtyle
Source avec Zip Source avec une capture UN GESTIONNAIRE DU FICHIER par benzarabel
Source avec Zip Source avec une capture TROUVER LES NOMBRES PREMIERS INFÉRIEURS À UNE LIMITE DONNÉE par angrevol

Commentaires et avis

Commentaire de D1m3x le 05/03/2003 13:56:24

C'est bien mais à la place de mettre char nom[50] ce ki dis ke le nom est de 50 caractères maximum tu peux mettre ca:
char * nom ca fera un pointeur vers nom et tu pourras mettre autant de lettre que tu veux dans ton char
;-)

Commentaire de BruNews le 05/03/2003 13:56:46 administrateur CS

Salut,
j'ai deja vu cette solution pas mal de fois ici, alors je me decide a poser la question:
Si tu fais fichier_existe(...) sur un fichier deja ouvert en mode EXCLUSIF, ta func repond quoi ? Moi je n'ai pas la reponse car je n'utilise que API systeme mais si tu pouvais essayer on saurait.
ciao...

Commentaire de BruNews le 05/03/2003 15:19:33 administrateur CS

Cette fois j'ai fait verif, c'est INVALIDE !!!
La preuve, compile ce qu'il y a dessous et change nom fichier.
Pendant que boite a l'ecran essaie le tien, il repond fichier non existe, c'est stupide.

#include &lt;windows.h&gt;

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, PSTR, int)
{
  HANDLE hfl = CreateFile("d:\Test.txt", GENERIC_READ, 0, NULL,
                       OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, NULL);
  if(hfl != INVALID_HANDLE_VALUE) {
    MessageBox(0, "OUVERT", "FILE", 0);
    CloseHandle(hfl);
  }
  return 0;
}

Commentaire de ranouf le 09/03/2003 19:30:10

brunews je pige un mot de ta source :) essaie d'utiliser des trucs du genre // là ça fait ça ... merci

Commentaire de ranouf le 09/03/2003 19:40:01

aariba &gt; t'as oublié les .h aux librairies et ton prog ne marche pas

Commentaire de yafuka le 14/03/2003 06:55:23

pkoi tu demande d entrer le nom du fichier (cin&gt;&gt;nom) si tu le recois deja en parametre (char nom[50])...

Commentaire de BruNews le 14/03/2003 09:24:33 administrateur CS

Salut,
expliquons clairement. On ne peut pas tester l'existence d'un fichier par le fait de savoir si on reussit a l'ouvrir ou non. Pour demontrer ceci, je t'ai mis un exemple minimal, mais qui compile, d'un code qui ouvre ton fichier et qui affiche une boite disant "OUVERT" si reussi. Pendant que cette boite est a l'ecran, ne la ferme pas, tente l'existence du fichier avec ta fonction, tu verras que repond de facon erronee. C'est normal puisque je l'ai ouvert en mode exclusif. Ensuite si tu ferme ma boite avec le bouton OK, ta fonction va bon mais elle devrait aller a tous les coups et ce n'est pas le cas.
Je vais redonner la seule methode fiable sur Win32, pour autres OS voir son API:
BOOL FileExists(const char* pszfl)
{
  WIN32_FIND_DATA wfd;
  HANDLE hfl = FindFirstFile(pszfl, &wfd);
  if(hfl == INVALID_HANDLE_VALUE) return 0;
  FindClose(hfl); return 1;
}
Celle-ci repondra juste a tous coups.
ciao...

Commentaire de yafuka le 14/03/2003 20:58:33

Ranouf dans les nouvelles normes du c++ les .h ne sont plus obligatoires.
mais pour utiliser cout ou cin tu ajoutes std::cout , std::cin etc...
(*_*)

Commentaire de ranouf le 14/03/2003 23:33:19

yafuka &gt; je note l'astuce merci :)

Commentaire de Nikoscian le 19/08/2003 00:07:04

Il y a aussi plus simple avec la fonction system() dans stdlib.h :
system("if exist %s (echo le fichier existe) else (echo le fichier n'existe pas)",argv[1]); où argv[1] est passé en paramètre en tant que nom du fichier.

Commentaire de papy45 le 06/10/2003 15:02:26

Hello

// Définition dans le Header:

#ifndef ONLYEXISTS
#define ONLYEXISTS   0
#endif  // ___ ONLYEXISTS ___

#ifndef WRITEPERMISSION
#define WRITEPERMISSION   2
#endif  // ___ WRITEPERMISSION ___

#ifndef READPERMISSION
#define READPERMISSION   4
#endif  // ___ READPERMISSION ___

#ifndef WRPERMISSION
#define WRPERMISSION   6
#endif  // ___ WRPERMISSION ___

// (Macro)

#ifndef FileExists
#define FileExists(_psz)    (BOOL)_access(_psz, ONLYEXISTS) == 0
#endif // FileExists

//------------------------------
// Utilisation dans le Source:

TCHAR szFileName;

...

if(FileExists(szFileName))
{
    // Le fichier ou le chemin existe ...
    ...
}  // ___ if ___

...

++

Commentaire de juki_webmaster le 26/01/2004 19:44:46

Dans le cadre d'un projet .
Pouvez-vous me refaire ce script  mais avec 2 possiblité :
Le fichier existe
et
Le fichier nexiste pas .
Merci d'avance .

Commentaire de Kaneda Shotaro le 21/08/2005 11:27:39

A la fonction :
BOOL FileExists(const char* pszfl)
{
  WIN32_FIND_DATA wfd;
  HANDLE hfl = FindFirstFile(pszfl, &wfd);
  if(hfl == INVALID_HANDLE_VALUE) return 0;
  FindClose(hfl); return 1;
}
J'ai une erreur où dans le FindFirstFile attend comme premier paramètre un LPCWSTR. Comment faire la conversion du char vers LPCWSTR ?
Merci.

Commentaire de BruNews le 21/08/2005 12:22:12 administrateur CS

Suffit de changer le type du param, ira bon unicode ou non:
BOOL FileExists(const TCHAR* pszfl)
{
  WIN32_FIND_DATA wfd;
  HANDLE hfl = FindFirstFile(pszfl, &wfd);
  if(hfl == INVALID_HANDLE_VALUE) return 0;
  FindClose(hfl); return 1;
}

La même en + court:
if(0 > (long)GetFileAttributes(szfile)) ABSENT

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

tester l'existance d'un fichier en VB6 [ par pcastain ] je débute en VB6,comment tester l'existance d'un fichier(si le fichier existe alors je le lance)merci d'avancePascal Initialisation tableau dans un Header ? [ par Capa6T ] Salut,J'ai fait un programme en C qui doit me générer un fichier header (genre test.h) que je pourrais insérer dans un autre projet en C.Ce Header doi test sur variable de type char [ par enrageur ] j'aimerais indetifier des mots dans un fichier txt. J'ouvre le fichier et je le copy dans un char (data). Ensuite je fais un test pour voir si les deu Comment compiler un fichier rc contenant une ressource RCDATA ? [ par skirby ] Bonjour &#224; tous, J'aimerais savoir comment faire pour compiler un fichier rc avec Dev-cpp 4.9.9.2. J'ai utilis&#233; ResEd comme &#233;diteur de Pb de copie de fichier/taille de structure [ par wannie ] Salut tt le monde. Quelqu'un pourrai tester mon prog est me dire si ça fonctionne. Moi je comprend pas j'ai une copie d'un caractère dans chaque ligne Debutant : test NULL en C++ [ par Spacekiller ] Bonjour, voila je suis debutant et j'ai quelques problemes avec les fichiers.Lorsque je veux tester si un fichier n'existe ou pas j'ai toujour une err Créer .h ? [ par CHKDSK2K ] Bonjour &#224; tous je voudrais cr&#233;er un fichier .h sous turboc mais j'utilise surement pas la bonne methode alors j'ai cr&#233;er un fichier&nbs probleme d'ecriture dans un fichier [ par thmatew ] Bonjour,Comme dit dans le sujet: j'ai un probleme d'&#233;criture dans un fichier.Je recoit le nom du fichier d'un client distant, le fichier se cr&#2 Nom du fichier [ par norton ] Bonjour, désolé pour le titre qui est pas vraimment évocateur Je code en ce moment un lecteur MP3 avec Borland C++ Builder 6, mais quand je veut affic test d'existence d'un fichier [ par morad_smi ] bonjour tout le mondepouvez vous me dire si quelqu'un sait comment on teste si un fichier existe en C merci d'avance


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,686 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales