Komplettes File in std::string speichern



  • Huhu

    würde gerne wissen wie sowas geht.
    Hab ein Beispiel im Internet gefunden:

    Andere Methode: Datei in einem Rutsch einlesen und ausgeben
    
    #include <iostream> // wegen cout cin
    #include <fstream> // wegen Dateistreamobjekt
    #include <string> // wegen Datentyp string
    #include <iterator> 
    using namespace std;
    
    int main(int argc, char *argv)
    {
                string fileName = "c:\\test.txt";
                ifstream inFile(fileName.c_str()); 
                string fileData((istreambuf_iterator < char> (inFile)), istreambuf_iterator < char> ());
                cout << fileData;
                cin.get();
                return 0;
    }
    

    Jedoch erkennt er >> istreambuf_iterator<char> << nicht

    Ich versuche nämlich ein ganzes File in einen std::string abzuspeichern.
    Gibt es eine andere Lösung?

    Danke!



  • Geschafft...Stringstream sei dank



  • gib mal bitte die konkrete fehlermeldung

    der msvc9.0 schluckt das ganze:

    #include <iostream> // wegen cout cin 
    #include <fstream> // wegen Dateistreamobjekt 
    #include <string> // wegen Datentyp string 
    #include <iterator> 
    using namespace std; 
    
    int main()
    { 
      string fileName = "c:\\test.txt"; 
      ifstream inFile(fileName.c_str()); 
      string fileData((istreambuf_iterator < char> (inFile)), istreambuf_iterator < char> ()); 
      cout << fileData; 
      cin.get(); 
    }
    

    bb



  • string str;
    ifstream in( "file.txt" );
    ostringstream oss;
    
    	oss << in.rdbuf();
    	str = oss.str();
    


  • na klasse...

    dann nimm doch:
    string fileData((istream_iterator<char>(inFile)), istream_iterator<char>());

    bb


Anmelden zum Antworten