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;
}
你正在向插入指针传递一个局部变量,然后立即被销毁。这永远不会结束。 –