[数据1]
同学个数=5
同学1名称 = "张三",班级="1",性别="1"
同学2名称 = "李四",班级="1",性别="1"
同学3名称 = "王五",班级="1",性别="1"
C++的ini文件,各位朋友们有知道如何用QT框架的QSetting读取这个参数的吗,如果有遇到过同样这种奇怪的问题,谢谢解答。
QSetting读取ini文件
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
然木酥 2023-12-25 17:38关注皇天不负有心人,终于给我研究出来了,供大家参考,不过这个格式确实不太行,稍微改了下格式。
[数据1]
同学个数=5
同学1名称 = "张三,班级=1,性别=1"
同学2名称 = "李四,班级=1,性别=1"
同学3名称 = "王五,班级=1,性别=1"std::string yxTable ="/数据"+std::to_string(i)+"/同学个数"; m_YxCount = configIniRead->value(QString::fromLocal8Bit(yxTable.data())).toInt(); qDebug()<<"m_YxCount="<<m_YxCount; for(int n=1;n<m_YxCount+1;n++) { yxArguStruct.Yx_Count[0]=m_YxCount; yxArguStruct.Yx_Check[0]=i; std::string code ="/数据"+std::to_string(i)+"/同学"+std::to_string(n)+"名称"; QByteArray teleValue = configIniRead->value(QString::fromLocal8Bit(code.data())).toString().toLatin1(); QString str = QString::fromUtf8(teleValue.data()); QStringList values = str.split(","); tempByte = values[0].remove("\"").toLatin1().data(); memcpy(yxArguStruct.nameList[n].name,tempByte,(int)sizeof(yxArguStruct.nameList[n].name)); QString classValue; QString genderValue; for (int j = 1; j < values.size(); j++) { QStringList keyValue = values[j].split("="); QString key = keyValue[0].trimmed(); QString value = keyValue[1].trimmed().remove("\""); if (j == 1) { classValue = value; } else if (j==2) { genderValue = value; } } }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报