Вопрос

У меня есть приложение MFC, основанное на мастере.Приложение задает пользователю переменное количество вопросов, которые затем записываются в INI-файл, который позже шифруется, когда пользователь нажимает кнопку Готово.

Все анализаторы INI-файлов, которые я видел до сих пор, выполняли чтение или запись в физический файл на диске.Я не хочу этого делать, так как INI-файл содержит конфиденциальную информацию.Вместо этого я бы хотел, чтобы INI-файл находился только в памяти и никогда не записывался на диск в незашифрованном виде.

Поскольку приложение позволяет пользователям возвращаться назад и изменять ответы, мне пришло в голову, что я мог бы использовать для этой цели базу данных в памяти, но опять же, я не хочу, чтобы что-либо записывалось на диск, и не хочу отправлять базу данных с моим приложением, если этого можно избежать.

Я должен использовать INI-файл, так как этот файл, когда он не зашифрован, будет обработан третьей стороной.

Приветствуются любые предложения.

Спасибо..

Это было полезно?

Решение

У меня есть класс IniFile C ++, который позволяет вам работать с Ini-файлами в памяти:http://www.lemonteam.com/downloads/inifile.h

Это короткий, хорошо документированный одиночный файл .h.Пример использования:

IniFile if ( "myinifile.ini" );

if.SetString( "mykey", "myvalue" );


// Nothing gets actually written to disk until you call Flush(), Close() or the object is deleted
if.Flush();
if.Close();

Вы должны иметь возможность изменить метод Flush() таким образом, чтобы он применял какой-либо вид шифрования к сохраненным данным.

Другие советы

Звучит как хорошее приложение для файла, отображенного в памяти, поскольку вы можете контролировать, когда ваше представление в памяти будет сброшено обратно в файл на диске.

Зачем вам нужно иметь его в формате ini-файла, если он никогда не сохраняется на диске?

Почему бы просто не сохранить его в памяти как структуру данных и не использовать ваши обычные методы ini-файла для записи его на диск, когда вы захотите.

Если вы не хотите сохранять в файл, тогда какой смысл использовать INI file?INI API - это, в основном, пакет свойств или пара ключ-значение, основанная на файле диска.Если вы не хотите использовать file, я предлагаю вам использовать свой собственный хэш или словарную структуру данных для хранения параметров key value

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top