comment verifier existence d'un fichier en c ?

comment verifier existence d'un fichier en c ? - C++ - Programmation

Marsh Posté le 15-11-2002 à 14:32:06    

Comment verifier qu'un fichier erxiste en C ?  
Paske le compilateur dont je dispose me colle une erreur kan je fais un if(fopen..... =NULL) ... kan le fichier n'existe pas ...  
arf  
 
Merci ..

Reply

Marsh Posté le 15-11-2002 à 14:32:06   

Reply

Marsh Posté le 15-11-2002 à 15:04:15    

C DOS/générique ou C Windows ?
 
Sous windows 16 bits (puis 32), je m'étais bricolé un module
 
void TestSiFichierExiste(char *szNomFich)
{  
// teste si fichier szNomFich existe
 
     OFSTRUCT TOf;
     memset(&TOf, 0, sizeof(OFSTRUCT));
     if ((OpenFile((LPSTR)szNomFich, &TOf, OF_EXIST)) == HFILE_ERROR)
       LastError = ERR_ABSN;  // fichier introuvable
     else
       LastError = ERR_ZERO;
}
// fin de module TestSiFichierExiste
 
Les ERR_ sont des variables perso, LastError une variable globale réservée à ça...
 
Y a sans doute mieux avec les API 32 bits. Ca tourne chez moi d'abord en 16 bits. :)  
 
le if(fopen..... == NULL), il est en mode read ?

Reply

Marsh Posté le 15-11-2002 à 15:09:35    

Merci, ca marche sous le compilo C++
mais pas ds le logiciel de test dont je me sers :'(
 
Le fopen, j'ai essayé dans tous les modes ...
et chui en 2000

Reply

Marsh Posté le 15-11-2002 à 15:12:50    

Le fopen ne gère pas les noms longs (je dis ça, à vérifier). Le nom cherché est pas "long" ? Avec des espaces à gogo et des répertoires verbeux ? :D  
 
Y a une API pour les "compacter" en truc~1.xyz.
 
Ca vient pas du logiciel de test ? :( :??:

Reply

Marsh Posté le 15-11-2002 à 15:15:02    

duncan069 a écrit a écrit :

le compilateur dont je dispose me colle une erreur kan je fais un if(fopen..... =NULL) ... kan le fichier n'existe pas ...  




 
tu m'expliques comment a la compilation tu peux savoir si le fichier existera a l'execution ?  :sarcastic:

Reply

Marsh Posté le 15-11-2002 à 15:17:58    

justement, a l'execution, je n'en sais rien c pour ca ke je dois tester l'existence ...
et non, ce n'est pas un noom long ... il s'appelle simplement toto.txt pour mon test ...

Reply

Marsh Posté le 15-11-2002 à 15:18:45    

duncan069 a écrit a écrit :

justement, a l'execution, je n'en sais rien c pour ca ke je dois tester l'existence ...
et non, ce n'est pas un noom long ... il s'appelle simplement toto.txt pour mon test ...




 
t'as pas compris ce que je voulais dire

Reply

Marsh Posté le 15-11-2002 à 15:24:50    

bah c a l'execution ...

Reply

Marsh Posté le 15-11-2002 à 15:32:12    

duncan069 a écrit a écrit :

 
le compilateur dont je dispose me colle une erreur kan je fais un if(fopen..... =NULL) ... kan le fichier n'existe pas ...  




faudrait savoir...
si l'erreur est a l'exécution, le compilateur n'a rien a voir la dedans  [:sinclaire]

Reply

Marsh Posté le 15-11-2002 à 15:37:38    

l'erreur est à l'execution ...

Reply

Marsh Posté le 15-11-2002 à 15:37:38   

Reply

Marsh Posté le 15-11-2002 à 15:38:05    

avec un compilo microsoft ... il faut kan meme noter ke l'exe generé passe bien ...

Reply

Marsh Posté le 15-11-2002 à 15:39:06    

bon, on avance...
et c'est quoi cette erreur ? t'as pas plus de détails ?

Reply

Marsh Posté le 15-11-2002 à 15:40:22    

bon, décidément, je capte rien a ce que tu racontes, et je crois bien que c'est parce que tu comprends pas toi même ce que tu dis

Reply

Marsh Posté le 15-11-2002 à 15:44:09    

sans vouloir te vexer, t naze ou tu fais expres ?
 
:@
 

Reply

Marsh Posté le 15-11-2002 à 15:49:22    

duncan069 a écrit a écrit :

sans vouloir te vexer, t naze ou tu fais expres ?
 
:@



[:toiTuSors]

Reply

Marsh Posté le 15-11-2002 à 15:54:33    

duncan069 a écrit a écrit :

sans vouloir te vexer, t naze ou tu fais expres ?
 
:@
 
 



[:the radec]


---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
Reply

Marsh Posté le 15-11-2002 à 15:55:15    

Joli bestiau [:xx_xx]


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 15-11-2002 à 15:56:03    

On récapitule ??
 
Le programme, une fois compilé pour Windows 2000, cherche, quand on l'exécute un fichier toto.txt.
 
Ce programme compilé avec VC++ fonctionne très bien que toto.txt existe ou non, mais compilé avec un "prog de test" (???? compilo, environnement spécial qui fait cafouiller les prog Win32 ??), ça va plus quand toto.txt n'existe pas.
 
Si toto.txt existe, il fonctionne bien ????
 
Ma fonction me sert à savoir si j'ai ou pas un fichier .INI dans le répertoire où est mon appli. Si non, je prends val par défaut et le signale à l'utilisateur, et si oui, je lis les paramètres.


Message édité par Carbon_14 le 15-11-2002 à 15:57:43
Reply

Marsh Posté le 15-11-2002 à 15:56:32    

clique et tes problèmes seront résolus :D


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
Reply

Marsh Posté le 15-11-2002 à 16:01:48    

duncan069 a écrit a écrit :

sans vouloir te vexer, t naze ou tu fais expres ?




 
heu à mon avis c'est à toi qu'il faudrait poser la question, parce que tes posts ne sont pas clairs du tout :o


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 15-11-2002 à 16:04:38    

Et si le fichier existe, mais qu'on a pas le droit de lecture dessus ? Comment vont se comporter les fonctions ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 15-11-2002 à 16:18:53    

tu peux donner ton code C que soit disant ton compilateur rejète?


---------------
du bon usage de rand [C] / [C++]
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed