Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[Qt 5] Błąd z zapisem do pliku

Ostatnio zmodyfikowano 2014-01-28 20:43
Autor Wiadomość
kryCHa
Temat założony przez niniejszego użytkownika
[Qt 5] Błąd z zapisem do pliku
» 2014-01-28 19:10:18
Witam !

Ostatnio wziąłem się za Qt (tak dla siebie :) ) i większość moich problemów rozwiązywałem przeszukując dokumentację. Natomiast teraz zdarzył się nie zrozumiały dla mnie błąd. Pobieram stronę internetową (to akurat działa, ponieważ gdy wyświetlam pobraną zawartość przez qDebug() to wszystko jest dobrze) i gdy próbuję zapisać to do pliku to w pliku zamiast zawartości strony jest np. takie coś "0x5bf880", czasem są inne kody.

Ps. Jeżeli potrzebny będzie kod to wkleję, zawiera raptem parę linijek.
P-103452
MrPoxipol
» 2014-01-28 19:12:58
Wklej kod.
P-103454
kryCHa
Temat założony przez niniejszego użytkownika
» 2014-01-28 20:24:17
mainwindow.h

C/C++
#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QFile>

namespace Ui {
    class MainWindow;
}

class MainWindow
    : public QMainWindow
{
    Q_OBJECT
   
public:
    explicit MainWindow( QWidget * parent = 0 );
    ~MainWindow();
   
private:
    Ui::MainWindow * ui;
    QNetworkAccessManager * manager;
   
public slots:
    void mySlot( QNetworkReply * );
};

#endif // MAINWINDOW_H

mainwindow.cpp

C/C++
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow( QWidget * parent )
    : QMainWindow( parent )
    , ui( new Ui::MainWindow )
{
    ui->setupUi( this );
   
    manager = new QNetworkAccessManager( this );
    connect( manager, SIGNAL( finished( QNetworkReply * ) ), this, SLOT( mySlot( QNetworkReply * ) ) );
    manager->get( QNetworkRequest( QUrl( "********" ) ) );
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::mySlot( QNetworkReply * s )
{
    qDebug() << s->readAll();
    s->close();
   
    QFile file( "D:/Projects/MYFILE.txt" );
   
    if( !file.open( QIODevice::WriteOnly ) )
         return;
   
    QTextStream out( & file );
    out << s;
    file.flush();
    file.close();
}
P-103463
kubawal
» 2014-01-28 20:41:29
C/C++
out << s;

Z Twojego kodu wynika, że s to pointer. A wysłanie wskaźnika do strumienia powoduje wydrukowanie adresu przez niego przedstawianego...
P-103468
kryCHa
Temat założony przez niniejszego użytkownika
» 2014-01-28 20:43:44
Wiem, pomyślałem tak ;d. Nie mam pomysłu aby przypisać go do czegoś innego.

@edit

Ok poradziłem sobie

wystarczyło stworzyć QByteArray i do niej zapisywać..

Zamykam
P-103471
« 1 »
  Strona 1 z 1