txt komplett in einem string einlesen



  • Hallo

    Ich habe ein Problem und zwar möchte ich eine txt komplett in einem string einlesen. habt ihr eine Idee, hab schon ne weile gegooglet aber keine vernünftige Lösung gefunden.

    Bin über jeden Vorschlag dankbar

    mfg Jasmin





  • So spontan fallen mit dazu folgende Lösungen ein:

    #include <fstream>
    #include <iostream>
    #include <iterator>
    #include <sstream>
    #include <string>
    
    int main() {
      {
        std::ifstream in(__FILE__);
        in.unsetf(std::ios::skipws);
        std::istream_iterator<char> fend;
    
        std::string s(std::istream_iterator<char>(in), fend);
        std::cout << s;
      }
    
      //////////////////////////////////////////////////////
    
      {
        std::ifstream in(__FILE__);
        std::ostringstream out;
    
        out << in.rdbuf();
    
        std::string s = out.str();
    
        std::cout << s;
      }
    }
    

    Es gibt aber sicher noch mehr.


  • Mod

    Sicherlich nicht die eleganteste Variante, aber vermutlich eine der kürzesten:

    string result;
    {
      ifstream datei("datei.txt");
      stringstream puffer;
      datei>>puffer.rdbuf();
      result=puffer.str();
    }
    

    edit: Da war seldon wohl schneller...


Anmelden zum Antworten