String et fstream

Résolu
elcactus75 Messages postés 41 Statut Membre -  
elcactus75 Messages postés 41 Statut Membre -
Bonjour, Je fais de la programmation en C++ et j'ai un petit problème avec la fonction "ifstream" qui permet de lire un fichier. normalement la fonction prend en paramètre l'emplacement du fichier texte. Ce que moi je voudrais ce serait de lui envoyer un string avec le chemin dedans. En gros mon code ce serait :
string chemin = "\"C:/Users/blabla/texte.txt\"";

// au faite le \ avant les guillemets c'est pour qu'il les détectent pas comme des fin de texte

ifstream fichier(chemin);

Bref, ça marche pas il y a une erreur de compilation au niveau de ifstream :( Si quelqu'un pourrai m'éclairer un peu ce serai sympa ;) A plus

5 réponses

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    Salut.
    En effet, c'est une crétinerie de l'ISO C++ que les stream ne supporte pas les string.
    la solution, c'est de retourner un const char, il y a justement une méthode qui permet de le faire :
    ifstream fichier(chemin.c_str(), ios::in);
    1
    1. Heliotte Messages postés 1561 Statut Membre 92
       
      Merci Char Snippeur, je ne connaissait pas !
      0
    2. elcactus75 Messages postés 41 Statut Membre
       
      MERCI BEAUCOUP !!!!!!!! Ça faisait un moment que je cherchais la solution :p
      0
  2. Heliotte Messages postés 1561 Statut Membre 92
     
    "ifstream" c'est pas pour la lecture de fichier ?
    "ofstream" pour l'écriture ?
    Je ne suis pas un spécialiste en C++
    0
  3. elcactus75 Messages postés 41 Statut Membre
     
    Si si c'est ca ;)
    0
  4. elcactus75 Messages postés 41 Statut Membre
     
    Et sinon une solutions ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Heliotte Messages postés 1561 Statut Membre 92
     
    Cela ne fonctionne pas :
    string chemin = "C:/Users/blabla/texte.txt"; 
    ifstream fichier(chemin, ios::in);
    0