You are not logged in.

  • Login

1

Sunday, July 4th 2010, 3:54pm

Qt->Text speichern

Hallo,

ich programmiere gerade in Qt, und da bin ich gerade dabei, einen Text, welcher in QTextEdit steht, als .txt abzuspeichern.

C/C++ Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtGui>
#include <QFile>
#include <iostream>
#include <fstream>
 
void saveHandler()
{
	QString sa(ui->textEdit->setPlainText());
	std::fstream f;
	f.open("text.txt", std::ios::out);
	f  << sa << std::endl;
	f.close;
}


Jetzt bekomme ich immer eine Fehlermeldung, dass irgendwas mit den << nicht klappt.
Kennt jemand die Lösung oder einen anderen Weg, den Inhalt zu speichern? Ich habe schon "gegooglt" aber ich habe nichts gefunden.

MfG,

Alpha_Delta

Aalon

Unregistered

2

Sunday, July 4th 2010, 6:14pm

Was ist denn genau die Fehlermeldung?


Muss man nicht wenn man eine Datei schließt name.close(); machen? mit ()
Ich kenns das Lesen und das Schreibe in txt dateien so das der Variablentyp entweder ofstream(in txt schreiben) oder ifstream(einlesen) ist (hab fstream noch nie probiert)

This post has been edited 1 times, last edit by "Aalon" (Jul 4th 2010, 6:19pm)


3

Tuesday, July 6th 2010, 7:37pm

Hi,

soweit ich weiß ist fstream für alles beide, dass mit den Klammern hat nichts gebracht.

MfG,

Alpha_Delta

PS: Fehlermeldung ist im Bild
Alpha_Delta has attached the following image:
  • Unbenannt.png

4

Tuesday, July 6th 2010, 8:48pm

Du übergibst einem std::stream Objekt einen QString. Woher soll die std QT kennen ? Also erst den QString in einen ANSI-String umwandeln. Musst mal schauen, da gibt es irgendwo eine Methode dafür.

5

Wednesday, July 7th 2010, 4:56pm

Ich habe das mit dem Umwandlen versucht, aber irgendwie klappte dass auch nicht.

6

Wednesday, July 7th 2010, 6:43pm

Hurra

Juhu, es hat geklappt.

C/C++ Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
void MainWindow::saveHandler() {
     QString message = ui->textEdit->toPlainText();
     QString fileName = QFileDialog::getSaveFileName(this, tr("Save Message"), "", tr("Text Files (*.txt);;All Files (*)"));
     QFile file(fileName);
     if (!file.open(QIODevice::WriteOnly))
     {
         QMessageBox::information(this, tr("Unable to open file"), file.errorString());
         return;
     }
     QTextStream out(&file);
     out << message;
  }


Danke für alle Anworten.

MfG,

Alpha_Delta

Similar threads

Social bookmarks