ouverture d'un fichier à partir dune chaine de caractere - C++ - Programmation
Marsh Posté le 13-06-2005 à 23:09:13
beurk !
utilise std::string !
string line;
ifstream input(name.c_str());
if(!input) { erreur d'ouverture }
while(getline(input, line))
{
traitement de la ligne
}
et voilà, rien d'autres à faire, le flux se ferme tout seul
Marsh Posté le 13-06-2005 à 23:20:59
c'est bizarre je me sens largué...
ca ressemble à du charabia pour moi, je ne connais pas la fonction c_str(). J'ai beau cherché je ne vois pas vraiment comment utilise ce que tu me donnes là. Désolé mais je ne suis qu'un débutant, peut tu s'il te plait m'expliquer ce que je dois mettre dans input(name.c_str()) ?
Marsh Posté le 13-06-2005 à 23:27:59
ou alors faut-il ajouter une bibliotheque pour que ca marche? je crois comprendre que la fonction input est dans une bibliotheque mais je ne sais pas laquelle
Marsh Posté le 13-06-2005 à 23:30:17
#include <iostream>
#include <string>
using namespace std;
et input n'est pas une fonction, c'est une variable
Marsh Posté le 14-06-2005 à 17:17:29
merci Taz. Ca fonctionne enfin, mais mon problème ne venait pas de la procédure mais de ma chaine de caractere; je l'ai mal enregistré et javais un espace dans mon nom de fichier.
Marsh Posté le 13-06-2005 à 22:53:26
Voilà mon problème:
Je souhaite ouvrir un fichier à partir d'un nom enregistré dans une chaine de caractere.
voici mon algo
typedef char CHAINE80 [81];
typedef char CHAINE400 [401];
void detail_vin(CHAINE80 nom_fichier)
{
//Declarations
ifstream filein;
CHAINE400 line;
int lgline;
//Actions
filein.open(nom_fichier);
do
{
filein.getline(line,400) ;
cout << line ;
lgline=strlen(line);
cout << endl;
}
while (lgline>0);
filein.close();
}
Le nom est stocké dans la CHAINE 80 nom_fichier. Jai fais des tests pour trouver d'où venait le problème. Apparement si le nom stocké dans la chaine est ecrit avec des " ", la procedure fonctionne correctement et ouvrir le bon fichier. Mais le nom que je stocke dans la chaine n'a pas de " ", et de ce fait ma procedure n'ouvre pas le bon fichier !!!
Comment faire ?