Ouverture fichier

Signaler
Messages postés
705
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
28 août 2012
-
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
-
comment fait on pour ouvrir un fichier quand on ne connait ni le nom ni l'emplacement?



moi j'utilisait fopen(nomfichier,"r") mais bon, quand on ne connait pas encore le nol de fichier...

7 réponses

Messages postés
1491
Date d'inscription
dimanche 19 novembre 2000
Statut
Modérateur
Dernière intervention
7 juillet 2014

Hein ??????????????

@+

MSN : x_men_40@hotmail.com
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
Si tu sais pas quel fichier tu doit ouvrir, c'est sur que cela va être dur de l'ouvrir. Ou alors c'est que la question est mal posée et que tu veux savoir comment ouvrir un fichier dont le nom est spécifié par l'utilisateur lors de l'exécution ?

Dans ce cas :
char filename[256];
fgets(filename, 256, stdin);
FILE* f = fopen(filename, "r");
Messages postés
705
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
28 août 2012

ben pour ouvrir un fichier dont le nom est saisi par l'utilisateur
Messages postés
705
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
28 août 2012

ok ca doit être ca, merci, je teste et je dit koi
Messages postés
705
Date d'inscription
mercredi 4 mai 2005
Statut
Membre
Dernière intervention
28 août 2012

et stdin, ca sert a quoi?
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
hm, compliqué, moi je dis:



#include <fstream>



...

std::string nom_du_fichier;

...

std::ifstream file(nom_du_fichier.c_str());

if (!file)

{

on traite l'erreur, par exemple si le fichier n'existe pas

}

else TOUT VA BIEN :)
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
3 juillet 2006
8
tu pourrais utiliser gets directement pour lire ce que rentre l'utilisateur. fgets est plus générique et permet de lire une chaîne de caractères depuis n'importe quel flux et de plus est protégé contre les dépassement de chaîne car on lui fourni la taille maximale que l'on veut. stdin permet de dire que l'on veut lire ce qui a été tapé sur l'entrée standard (clavier ou fichier si elle a été redirigée).