Изменить значения в конфигурации. файл - PullRequest
0 голосов
/ 24 января 2010

В настоящее время я использую API ReadFile () и WriteFile () для записи и чтения из файла. Существуют ли какие-либо API-функции для замены / редактирования текста, если данные достаточно велики для повторной записи? Я только слышал о SetFilePointer (), но я не совсем уверен, как использовать его для замены текста из файла.

Например, выберите строку / символ из файла, скажем, значение «0» ключа 2.

Key1 = 0
Key2 = 0

и измените его на '1'.

Key1 = 0
Key2 = 1

Ответы [ 3 ]

2 голосов
/ 24 января 2010

Функции GetPrivateProfileString и WritePrivateProfileString могут быть полезны для этого.

1 голос
/ 24 января 2010

Существует множество API для произвольного доступа к файлам. Все они практически не подходят для работы с текстовыми файлами.

Подумайте, если вместо изменения 1 цифры вы изменили с 1 на 2, то есть с 1 "на" 20 ", вам придется реализовать не только" эффективный "способ произвольного доступа, но и" неэффективный " переписать файл так, как вам нужно, так как вам действительно нужен только один способ, «неэффективный» - тот, к которому можно обратиться.

0 голосов
/ 24 января 2010

Для текстовых файлов лучше всего читать их в память, выполнять свою работу и записывать их обратно. например, прочитайте содержимое файла в std::string, найдите Key2 = и замените оставшуюся часть строки новым значением. Затем сохраните строку снова. Вы можете использовать std::ifstream для чтения из файла без единого вызова WinAPI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...