山南程咬金 2019-08-14 16:09 采纳率: 0%
浏览 422

QT 写的读写配置的程序,写INI文件重启后还原, 用VI打开后重启就不还原

#include "config.h"
#include
#include

Config::Config(QString qstrfilename)
{
if (qstrfilename.isEmpty())
{
m_qstrFileName ="Config.ini"; //QCoreApplication::applicationDirPath() + "/Config.ini";
}
else
{
m_qstrFileName = qstrfilename;
}

m_psetting = new QSettings(m_qstrFileName, QSettings::IniFormat);
qDebug() << m_qstrFileName;

}
Config::~Config()
{
delete m_psetting;
m_psetting = 0;
}
void Config::Set(QString qstrnodename,QString qstrkeyname,QVariant qvarvalue)
{
m_psetting->setValue(QString("/%1/%2").arg(qstrnodename).arg(qstrkeyname), qvarvalue);
m_psetting->sync();
// sync();

qDebug() << QString("/%1/%2").arg(qstrnodename).arg(qstrkeyname)+ qvarvalue.toString();
}

QVariant Config::Get(QString qstrnodename,QString qstrkeyname)
{
QVariant qvar = m_psetting->value(QString("/%1/%2").arg(qstrnodename).arg(qstrkeyname));
return qvar;
}

用的是一个大神写的config.cpp ,

主函数 调用 Config().Set("COMMON","IP",CGlobal::IP);
Config().Set("COMMON","Port",CGlobal::Port);
Config().Set("COMMON","IP1",CGlobal::IP1);
Config().Set("COMMON","Port1",CGlobal::Port1);

    写应该是写进去了。因为把程序关闭后 用VI打开  ini文件 是可以看到已经修改了,如果不用VI打开重启后就又还原了。用VI打开后 再重启 就不会还原。现象就是像没保存一样。各位大神有没有遇见过的 指导下
  • 写回答

1条回答 默认 最新

  • J4cks0n 2019-08-14 17:31
    关注

    有这种情况? 你程序写入完成后用ls -al查看下ini目录下的状况,有字节数重启后不会还原的。怎么搞得这么玄乎:)

    评论

报告相同问题?

悬赏问题

  • ¥50 comsol稳态求解器 找不到解,奇异矩阵有1个空方程返回的解不收敛。没有返回所有参数步长;pid控制
  • ¥15 怎么让wx群机器人发送音乐
  • ¥15 fesafe材料库问题
  • ¥35 beats蓝牙耳机怎么查看日志
  • ¥15 Fluent齿轮搅油
  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功