本来想要使用QSetting类来修改配置文件的,可是后来发现用不了。如何找了很多资料都没找到,突然想到能不能直接用QFile类来读写配置文件呢,果断尝试,结果真的可以。不过写的时候需要root权限。下面是我修改etc/network/interfaces文件的代码
QFile f("/etc/network/interfaces");
bool b=f.open(QIODevice::ReadWrite);
QTextStream data(&f);
QString info,row="\n";
while(!data.atEnd())
{
QString sline=data.readLine();
if(sline.contains("iface lo inet loopback"))
{
info.append(sline);
break;
}
else
{
info.append(sline);
info.append(row);
}
}
// info.append("auto lo");
// info.append(row);
// info.append("iface lo inet loopback");
// info.append(row);
info.append(row);
info.append("auto eth1");
info.append(row);
info.append("iface eth1 inet static");
info.append(row);
info.append(QString("address %1").arg(lnp.getIp()));
info.append(row);
info.append("gateway 192.168.1.1");
info.append(row);
info.append(QString("netmask %1").arg(lnp.getNetmask()));
info.append(row);
info.append(QString("broadcast %1").arg(lnp.getBroadcast()));
info.append(row);
info.append("dns-nameservers 192.168.1.1");
data.seek(0);
data<<info;