Seite 1 von 1

QSettings: Win ini Files von Unix aus lesen

Verfasst: 16. März 2010 19:45
von AuE
Hi,

ich versuche grade von einen Unix BS aus auf ein gemountetes Windows Ini File zuzugreifen.

Das klappt soweit auch recht gut. Allerdings nicht bei Pfadangaben. Da scheint er das "\" als Escapezeichen zu nehmen.

Die Inidatei sieht zB wie folgt aus:
[HERE]
path0="C:\Dokumente und Einstellungen\User\bla"
Code:

Code: Alles auswählen

  
    QSettings setting("myFile.avp", QSettings::IniFormat, NULL);
    setting.setIniCodec("Windows-1251");
    setting.beginGroup("HERE");
   qDebug()<<setting.value("path0", "NO VALUE");
    return a.exec();

Die Ausgabe: QVariant(QString, "C:okumente und Einstellungenserla")


Welchen Codec muss ich denn an dieser Stelle nehmen um mir den Pfad richtig zu bekommen?

EDIT: Eine Mögliche Lösung wäre dies via sed zu machen:

Code: Alles auswählen

sed "s/\\\/\//g" filepath
Aber es muss doch auch via QSettings gehen oder?

Verfasst: 17. März 2010 18:03
von Christian81
Qt speichert ein '\' in ini-Dateien als '\\' ab. Wenn die ini-Datei nicht in diesem Format vorliegt kann man wohl nichts machen außer selbst parsen.

Verfasst: 18. März 2010 09:28
von AuE
Joa das dachte ich mir schon ;-) Problem ist nur das das File nicht von mir kommt... also werde ich es in ein /tmp file streamen. schreiben kann ich ja wieder in das Original