Read Textfile c++

08/21/2013 21:12 lolxdflyx3#1
hi,
ich scheitere leider am öffnen einer textdatei bei meiner c++-anwendung.
Sicherlich ist der Fehler offensichtlich, aber ich hab keine ahnung was da falsch ist. Es macht einfach nichts. Kein Output, kein Error. Nur eine .cfg mit dem inhalt 8b(so wie es soll). Ich bin noch c++-Anfänger...

Hier mein Code:
Code:
int main()
{
    ofstream filestream("conf.cfg");
    print("8b", filestream); //Funktion ist jetzt hier nicht mitaufgeführt, funtktioniert aber!

    string line;
    ifstream file;
    file.open("conf.cfg");
    if (file.is_open())
    {
        while (getline(file,line))
        {
            cout << line << endl;
        }
        file.close();
    }
    system("pause");
    return 0;
}
Habe Fehler gefunden : filestream.close(); hat gefehlt-.-

#closed
08/22/2013 00:19 Tasiro#2
Es fehlte ein std::flush (Manipulator wie std::endl). Damit wird der Puffer des Streams geleert. Das heißt bei std::ofstream, dass all das, was von C++ zwischengespeichert wurde, nun auch tatsächlich an das Betriebssystem gesendet wird, sodass es dann in der Datei landet.
Du kannst das aber auch mit nur einem std::fstream-Objekt lösen, dann musst du nach den Schreiboperationen nur die Methode seekg mit 0 als Argument aufrufen. Beispiel:
Code:
std::fstream file ("test.file");
file << "Inhalt" << std::endl;
file.seekg (0);
std::cout << file.rdbuf ();