tester l existence d un fichier en c++

tester l existence d un fichier en c++ - Programmation

Marsh Posté le 06-10-2001 à 00:55:30    

y a til une maniere de tester si un fichier existe ?!
(en c/c++)

Reply

Marsh Posté le 06-10-2001 à 00:55:30   

Reply

Marsh Posté le 06-10-2001 à 01:01:36    

slvn a écrit a écrit :

y a til une maniere de tester si un fichier existe ?!
(en c/c++)  




tu fait un fopen() sur le fichier et tu regarde le param de retour un truc un peu comme ça (j'suis plus sure de la syntaxe de fopen et de la valeur qu'il renvoie  :p tu devrait touver ça dans l'aide du compilateur):
 
FILE* fp=NULL;
...
if(fopen(fp,"Monfichier" )==0)
 return 0; /* Fichier inexistant */
...

Reply

Marsh Posté le 06-10-2001 à 01:24:16    

ok merci :)
 
la syntaxe de fopen est fopen("nomfichier","r" ) par ex

Reply

Marsh Posté le 06-10-2001 à 02:20:39    

slvn a écrit a écrit :

 
...la syntaxe de fopen est fopen("nomfichier","r" ) par ex  




 
Donc ça donnerait un truc dans le genre:
 
FILE* fp=NULL;
...
fp=fopen("Monfichier","r" );
if(fp==NULL)
  return 0; /* fichier inexistent */
...

Reply

Marsh Posté le 06-10-2001 à 10:41:45    

oui c ca :)
 
mais sinon, comment indiquer un chemin d acces au fichier ?!
 
(j ai mis ( (/)repertoir/fichier.txt , et ca marche pas :((   )

Reply

Marsh Posté le 06-10-2001 à 10:45:54    

"c:\\myDirectory\\mySubDirectory\\myFile.txt"
le chemin qui apparaîtra dans la string sera  
"c:\myDirectory\mySubDirectory\myFile.txt"
 
comme '\' est utilisé comme caractère spécial pour spécifier le retour à la ligne (\n), la tabulation (\t), etc ... \\ spécifie \.

Reply

Marsh Posté le 06-10-2001 à 11:20:10    

en faite c plus compliqué, c pour un cgi ;)
 
par defaut le cgi cree ou lit un fichier dans un  
repertoire :
..../scripts/  
je voudrais qu il puissse le mettre dans un ss repertoir e que j ai crée :  
.../scripts/user/

Reply

Marsh Posté le 06-10-2001 à 11:38:36    

ahh ! he bien essaye de spécifier un chemin relatif :
 
scripts/user (sans le '/' au début).
 
sinon, il faudrait que tu récupère le chemin absolu (qq chose comme server/www/home/users/blahblah/web/scripts ....)

Reply

Marsh Posté le 06-10-2001 à 11:55:03    

non, ca marche pas :(
que je rajoute scripts/user ou user/  , le scripts est tjrs ecris dans .../scripts/

Reply

Marsh Posté le 06-10-2001 à 12:03:07    

je n'ai jamais fait de cgi, mais fait péter le bout de code pour voir ...

Reply

Marsh Posté le 06-10-2001 à 12:03:07   

Reply

Marsh Posté le 06-10-2001 à 12:11:28    

bout de code un peu  long, mais dnas les ligens concernée :
 
 
#define PATH_LOGIN "scripts/user/"
char c5[255];
strcpy(c5,PATH_LOGIN);
strcat(c5,"nom_fichier" );
strcat(c5,".txt" );
FIL*fich = fopen(c5,"w" );
fputs("hello",fich);

Reply

Marsh Posté le 06-10-2001 à 12:17:01    

? et ce bout de code écrit dans /scripts/ ? bizarre bizarre ... y'a pas une redirection automatique du chemin ?
 
sinon tu peux demander à barbarella, vu qu'il fait des cgi.

Reply

Marsh Posté le 06-10-2001 à 12:29:39    

yep, je crois que je vais encore avoir besoin de son aide :)
 
remarque ca peut attendre, et j essaierai de resoudre mes pb plus tard :)

Reply

Sujets relatifs:

Leave a Replay

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