Come interpretare QDataStream
Unsolved
Italian
-
Ho il seguente programma che mi serve per provare QDataStream e quando cerco di memorizzare la stringa sul file riesco, ma quando con lo stesso cerco di estrapolarla per visualizzarla, la stringa mi risulta vuota. C'è qualcosa che sbaglio?
#include <QCoreApplication> #include <QFile> #include <QString> #include <QDebug> #include <QDataStream> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QFile archivio("../Desktop/TopoGigio.txt"); archivio.open(QIODevice::ReadWrite); QDataStream io(&archivio); QString scrittura = "io sono qui"; io << scrittura; QString lettura; io >> lettura; qDebug() << lettura; archivio.close(); return a.exec(); }
-
e' molto meno complicato di quello che pensi.
io << scrittura;
scrive la stringa e poi punta il file alla fine della scritta cosi' se vuoi scrivere ancora lo aggiunge alla fine. Tu, invece, chiamiio >> lettura;
e siccome dopo"io sono qui"
non c'e' nulla ti ritorna una stringa vuota.
Devi semplicemente tornare all'inizio del file prima di leggerlo.
Aggiungiarchivio.seek(0);
prima di provare a leggerlo.