QT QMap数据到本地文件,使数据持久化

it2026-08-12  9

1.写数据到本地文件

//写数据到本地文件 QMap<QString,QString> mapData; mapData.insert("Baidu","www.baidu.com"); mapData.insert("Apple","www.apple.com"); QMapIterator<QString, QString> i(mapData); QFile file("data.log"); file.open(QIODevice::WriteOnly | QIODevice::Append); QTextStream out(&file); while (i.hasNext()) { i.next(); out<<i.key()<<","; out<<i.value()<<"\n"; } file.close();

数据用逗号隔开,并且一行表示一个key-value

2.读取数据

QString key, value; file.open(QIODevice::ReadOnly); QTextStream in(&file); //用文件构造流 QString line = in.readLine();//读取一行放到字符串里 QStringList strList = line.split(","); if(strList.count() == 2) { key = strList.value(0); value = strList.value(1); qDebug()<<key<<","<<value; } while(!line.isNull())//字符串有内容 { line=in.readLine();//循环读取下行 strList = line.split(","); if(strList.count() == 2) { key = strList.value(0); value = strList.value(1); qDebug()<<key<<","<<value; } } file.close();

 

最新回复(0)