0
我想隨機將數據寫入許多不同的文件,所以我將QFile *存儲到Qhash,但它的接縫不起作用。並有一個報告如何在Qhash中存儲Qfile
QObject :: connect:沒有這樣的信號QObject :: aboutToClose()在.... \ include \ QtCore \ 5.3.2 \ QtCore/private /../../。 ./../../src/corelib/io/qtextstream_p.h:75
你能幫我解決這個問題嗎?
這是一個測試代碼來實現我的想法。
#include <QHash>
#include <QString>
#include <QFile>
#include <QTextStream>
#include <QFile>
#include <QDebug>
int main(int argc, char *argv[])
{
QHash <qint32,QFile *> fileHandHash;
for(qint32 i=0; i<1000; i++){
qint32 id = i % 10;
qDebug() << i << "\t" << id;
if(! fileHandHash.contains(id)){
QString filename = id + ".out.txt";
QFile MYFILE(filename);
MYFILE.open(QIODevice::WriteOnly);
fileHandHash.insert(id,&MYFILE);
}
QTextStream OUT(fileHandHash.value(id));
OUT << i << "\n";
}
return 1;
}
你正在向插入指針傳遞一個局部變量,然後立即被銷燬。這永遠不會結束。 –