String et fstream

Résolu
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. Contributeur
    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. Merci Char Snippeur, je ne connaissait pas !
      0
    2. MERCI BEAUCOUP !!!!!!!! Ça faisait un moment que je cherchais la solution :p
      0
  2. "ifstream" c'est pas pour la lecture de fichier ?
    "ofstream" pour l'écriture ?
    Je ne suis pas un spécialiste en C++
    0
    1. Si si c'est ca ;)
      0
      1. Et sinon une solutions ?
        0
        1. Cela ne fonctionne pas :
          string chemin = "C:/Users/blabla/texte.txt"; 
          ifstream fichier(chemin, ios::in);
          0