Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1524 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  ouverture d'un fichier à partir dune chaine de caractere

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ouverture d'un fichier à partir dune chaine de caractere

n°1118931
Jabot
Posté le 13-06-2005 à 22:53:26  profilanswer
 

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 ?

mood
Publicité
Posté le 13-06-2005 à 22:53:26  profilanswer
 

n°1118951
Taz
bisounours-codeur
Posté le 13-06-2005 à 23:09:13  profilanswer
 

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

n°1118968
Jabot
Posté le 13-06-2005 à 23:20:59  profilanswer
 

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()) ?
 

n°1118974
Taz
bisounours-codeur
Posté le 13-06-2005 à 23:27:49  profilanswer
 

ben  
 
string name;
 
name = "fichier.txt";
 
 
et voilà

n°1118975
Jabot
Posté le 13-06-2005 à 23:27:59  profilanswer
 

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

n°1118977
Taz
bisounours-codeur
Posté le 13-06-2005 à 23:30:17  profilanswer
 

#include <iostream>
#include <string>
 
using namespace std;
 
 
et input n'est pas une fonction, c'est une variable

n°1119807
Jabot
Posté le 14-06-2005 à 17:17:29  profilanswer
 

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.

n°1119813
Taz
bisounours-codeur
Posté le 14-06-2005 à 17:23:32  profilanswer
 

et j'espère que t'as déjà ton code daubique du débuts.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  ouverture d'un fichier à partir dune chaine de caractere

 

Sujets relatifs
[Batch DOS] Date et fichierrécuparation nom de fichier
protection fichier efficaceUpload de fichier - Copie de fichiers sur un serveur
Lancement d'un exe a partir d'un htmlTélécharger un fichier par son url
Probleme encoding ISO-8859-1 et caractère "&"Fichier .bat : problème de gestion des variables
problème de fichier "fphover"Copie caractere par caractere CString
Plus de sujets relatifs à : ouverture d'un fichier à partir dune chaine de caractere


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR