Bonjour, je souhaite faire une classe équivalente a IDataInput(ActionScript 3.0) en C++ avec Qt
Voici toutes mes sources
main.cpp
DataInput.cpp
DataInput.h
Dans le main, je crée un tableau d'octet et je rajoute un bool qui vaut true.
Seulement quand j'essaye de l'extraire avec ma classe DataInput, je reçois un false.
Je ne comprends pas pourquoi, pourriez-vous me donner un peu d'aide ?
Merci à tous et bonne journée !
Voici toutes mes sources
main.cpp
Code:
#include <DataInput.h>
#include <QtCore>
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
bool myBool = true;
//Création d'un tableau
QByteArray myByteArray;
// Je rajoute le bool true dans le tableau
QDataStream myStream(&myByteArray, QIODevice::WriteOnly);
myStream << myBool;
// J'extrais le bool du tableau
DataInput dataRead(&myByteArray);
myBool = dataRead.readBoolean();
// qDebug() retourne false, pourtant j'ai donné un true
qDebug() << myBool;
return a.exec();
}
bool myBool = true;
QByteArray myByteArray;
QDataStream myStream(&myByteArray, QIODevice::WriteOnly);
myStream << myBool;
DataInput dataRead(&myByteArray);
qDebug() << dataRead.readBoolean();
return a.exec();
}Code:
#include "DataInput.h"
DataInput::DataInput(QByteArray *byteArray)
{
QDataStream m_myStream(*byteArray);
}
bool DataInput::readBoolean()
{
bool myBool;
m_myStream >> myBool;
return myBool;
}Code:
#ifndef DATAINPUT_H
#define DATAINPUT_H
#include <QByteArray>
#include <QDataStream>
class DataInput
{
public:
DataInput(QByteArray *byteArray);
bool readBoolean();
private:
QDataStream m_myStream;
};
#endif // DATAINPUT_HSeulement quand j'essaye de l'extraire avec ma classe DataInput, je reçois un false.
Je ne comprends pas pourquoi, pourriez-vous me donner un peu d'aide ?
Merci à tous et bonne journée !
Aucun commentaire:
Enregistrer un commentaire