Seite 1 von 1

Problem mit QTextStream

Verfasst: 17. Dezember 2008 18:29
von nierth
Hallo,

ich möchte ein logfile schreiben und habe dazu folgendes Konstrukt erstellt:

Code: Alles auswählen

QTextStream str;
str << "Sensor" << i << ": " << (*sensor)[i].getRange() << "  ";
logger->appendLog(&str);

Code: Alles auswählen

void IOLogger::appendLog(QTextStream *input) {
	QFile logFile("log.txt");

	if(!logFile.open(QIODevice::Append)) {
		return;
	}

	QTextStream output(&logFile);
	output << input->readAll() << endl;
	logFile.close();
}
leider schreibt er nicht wirklich etwas in die Datei. An andere Stelle schreibe ich allerdings das aktuelle Datum mit einem fast identischen Code in die Datei, was wunderbar funktioniert. Insofern liegt es mit ziemlicher Sicherheit an den oberen drei Zeilen.
Kann es daran liegen dass ich dem QTextStream str kein QIODevice übergeben habe? Wenn ja, wie löse ich das Problem?

Thomas

Verfasst: 18. Dezember 2008 10:50
von ChMaster
Servus nierth,

das könnte dir helfen. Du musst der open Funktion schon mitteilen was du machen willst. Schreiben, Lesen oder beides.

Code: Alles auswählen

   // QIODevice::ReadWrite = lesen und schreiben
   // QIODevice::WriteOnly = nur schreiben
   // QIODevice::ReadOnly = nur lesen
   if(!logFile.open(QIODevice::WriteOnly | QIODevice::Append)) { 
       return; 
    }