QT中的QDir:remove函数删除不了文件?其实主要是怎么写入配置文件。
主要是为了读写配置文件。WINDOWS下没问题了,但是在linux下就只能读,写不了,就是覆盖不了源文件,
后来换了个思路,先删除,后写入,结果还是不行,删除不了。。貌似也不是权限的问题。
但是在其他目录下,还是能创建一个文件的,就是不能通过代码覆盖和删除。
希望高手给点思路,或者是解决的方法。谢谢
这段代码主要是针对IP的读写的。读就是上面这段是没有问题的。下面那段写不了
QSettings *ConfigIni = new QSettings("/etc/eth0-setting",QSettings::IniFormat,0);
ui->ipInfoLineEdit->setText(ConfigIni->value("IP").toString());//IP地址
ui->maskInfoLineEdit->setText(ConfigIni->value("Mask").toString()); //子网掩码
ui->gatewayInfoLineEdit->setText(ConfigIni->value("Gateway").toString());//子网掩码
ui->dnsInfoLineEdit->setText(ConfigIni->value("DNS").toString());//DNS
ui->macInfoLineEdit->setText(ConfigIni->value("MAC").toString());//mac
===================================================================*/
void ipset::ipconfig_set_infile()
{
//删除原有配置文件
QDir rmfile;
rmfile.remove("/home/eth0-setting");//windows下可以不要这两句。可以覆盖原文件。
QSettings *ipConfigIni = new QSettings("/home/eth0-setting",QSettings::IniFormat,0);
//QSettings *ipConfigIni = new QSettings("/home/eth_setting",QSettings::IniFormat,0);
ipConfigIni->setIniCodec("UTF-8"); //设置文件格式为UTF-8
ipConfigIni->setValue("IP",ui->ipInfoLineEdit->text());//写入配置文件中Ip配置参数
ipConfigIni->setValue("Mask",ui->maskInfoLineEdit->text());//写入配置文件中Mask配置参数
ipConfigIni->setValue("Gateway",ui->gatewayInfoLineEdit->text());//写入配置文件中Gateway配置参数
ipConfigIni->setValue("DNS",ui->dnsInfoLineEdit->text());
ipConfigIni->setValue("MAC",ui->macInfoLineEdit->text());
delete ipConfigIni;
}