[gelöst] Text in Datei schreiben

Alles rund um die Programmierung mit Qt
Antworten
KuhTee
Beiträge: 27
Registriert: 3. November 2012 09:17

[gelöst] Text in Datei schreiben

Beitrag von KuhTee »

Hallo,
ich möchte Zahlen formatiert in eine Textdatei schreiben. Meine Qt Lösung ist aufwendig. Bei der Qt-Lösung stören auch die 1000er '.'
Gibt es es eine einfachere Möglichkeit?
Gruß
KuhTee

Früher ( geht heute immer noch)

Code: Alles auswählen

FILE *opf;
double zahl=12.8765;
opf=fopen("daten.txt","w");
fprintf(opf,"%10.3f,zahl);
....
Meine Qt-Lösung

Code: Alles auswählen

QFile file;
QLocale locale = QLocale(QLocale::German, QLocale::Germany);
QString ausgabe;
double zahl=12.8765;
file.setFileName("daten.txt");
file.open(QIODevice::WriteOnly | QIODevice::Text);
ausgabe = QString("%1").arg(locale.toString(zahl,'f',3),10);
file.write ( ausgabe.toLatin1() );
Zuletzt geändert von KuhTee am 14. August 2018 21:30, insgesamt 1-mal geändert.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Text in Datei schreiben

Beitrag von Christian81 »

Ich sehe keinen großen Unterschied. Außer dass Du in der C-Version die C-Locale benutzt, in der Qt-Version die de-DE Locale. Was Du in Qt suchst ist wohl QString::number() --> http://doc.qt.io/qt-5/qstring.html#number+

Code: Alles auswählen

QFile file ("daten.txt");
double zahl = 12.8765;
file.write ( QString::asprintf("%10.3f, zahl).toLatin1() );
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
KuhTee
Beiträge: 27
Registriert: 3. November 2012 09:17

Re: Text in Datei schreiben

Beitrag von KuhTee »

Danke !
Geht ja ganz einfach !
Antworten