Russian Qt Forum

Qt => Общие вопросы => Тема начата: Asteria от Июль 18, 2016, 00:00



Название: QSettings и проблемы с ним
Отправлено: Asteria от Июль 18, 2016, 00:00
Доброе время суток форумчане!
Написал небольшое для редактирование конфиг файла игры. Всё хорошо записывается и считывается из ini файла, НО
столкнулся со странной проблемой. Часть конфига удаляется. Чтобы лучше было понять приведу пример.

До редактирования:
Код:
[Path]
MapPath=.\Map\
SystemPath=.\System\
EntityPath=.\Map\Entity\
ScreenShotsPath=.\ScreenShots\

После редактирования:
Код:
[Path]
MapPath=".apSystemPath=.ystemEntityPath=.apntityScreenShotsPath=.creenShots"

Но программа даже не редактирует эту группу. Прошу подсказать в чём проблема, и как её исправить.


Название: Re: QSettings и проблемы с ним
Отправлено: Bepec от Июль 18, 2016, 00:27
Видимо вам нужно экранировать слеши.
Экранировать это заменять "\" на "\\" и наоборот.
Хотя непонятно, каким образом вы забиваете данные, строчки должны вроде экранироваться автоматом.


Название: Re: QSettings и проблемы с ним
Отправлено: Racheengel от Июль 18, 2016, 01:41
или поменять бэкслеши на слеши...


Название: Re: QSettings и проблемы с ним
Отправлено: Asteria от Июль 18, 2016, 02:06
Видимо вам нужно экранировать слеши.
Экранировать это заменять "\" на "\\" и наоборот.
Хотя непонятно, каким образом вы забиваете данные, строчки должны вроде экранироваться автоматом.
Да, я тоже думал по этому поводу, но почему вообще это происходит. Я даже не работаю с этой группой и ключами. Чуть позже выложу код, который использую для записи.


Название: Re: QSettings и проблемы с ним
Отправлено: Alex Custov от Июль 18, 2016, 07:49
Происходит потому, что QSettings парсит и записывает обратно в хранилище сразу весь файл со всеми группами. Поэтому он может "портить" даже те группы, с которыми ты не работаешь.


Название: Re: QSettings и проблемы с ним
Отправлено: Asteria от Июль 18, 2016, 14:01
Короче просто экранировал эти строки, при этом клиент ведёт себя нормально. Спасибо за помощь.