Seite 1 von 1

Probleme beim schrieben in Textfile

Verfasst: 10. August 2005 09:17
von bigmil
Hallo zusammen,

habe Probleme beim Schreiben in ein Textfile. Es wird zwar ins File geschrieben, aber der Zeilenumbruch am Ende der Zeile findet nicht statt (weder endl noch "\n"), sondern es wird ein Zeichen eingefügt und beim nächsten Aufruf weiterhin in die selbe Zeile geschrieben.

Code: Alles auswählen

QFile file( "Protocol.txt" );
if( file.open( IO_WriteOnly | IO_Append ) );
{
QTextStream stream( &file );
stream << "Standort"  << "	" << "Bezeichnung" << "	" << "NeuronID" << "	" << "ApplikationDLL" << "	" << "Zaehler" << endl;
file.close();
}
Kann mir da jemand einen Tipp geben, an was das liegt? Muss man da was spezielles beachten beim Schreiben in Textfiles? Sollte doch so eigentlich gehen, oder? Benutze QT 3.3.4 auf WinXP.

Danke und Gruss

Verfasst: 10. August 2005 09:28
von br06
Hi,

Du solltest Qt noch mitteilen, dass Du eine textdatei schreiben willst.

Code: Alles auswählen

        QFile file("in.txt");
        if (!file.open(QIODevice::Text))
            return;

EDIT: Codefragment

Gruß Christian

Verfasst: 10. August 2005 09:52
von bigmil
habe die Lösung gefunden. Das Flag IO_Translate muss noch eingefügt werden, damit Zeilenumbrüche in die spezifischen Zeichenfolgen der Zielplattformen ( \r \n ) übersetzt werden können.

Code: Alles auswählen

if( file.open( IO_WriteOnly | IO_Append | IO_Translate ) ); 
{ 
QTextStream stream( &file ); 
stream << "Standort"  << "   " << "Bezeichnung" << "   " << "NeuronID" << "   " << "ApplikationDLL" << "   " << "Zaehler" << endl; 
file.close(); 
} 
Danke und gruss

Verfasst: 10. August 2005 10:37
von br06
Sorry bigmil,

habe gerade gesehen, dass beim Einfügen des Codes etwas schief gelaufen ist.