2009-05-24 55 views
0

我有一個基於嚮導的MFC應用程序。該應用程序向用戶提出可變數量的問題,然後將其寫入INI文件,然後在用戶單擊完成時對其進行加密。內存INI文件寫入器

到目前爲止,我所見過的所有INI文件解析器都讀取或寫入磁盤上的物理文件。我不想這樣做,因爲INI文件包含機密信息。相反,我希望INI文件只能在內存中使用,並且永遠不會以未加密的形式寫入磁盤。

由於該應用程序允許用戶返回並更改答案,我發現我可以在內存數據庫中使用此目的,但我不想將任何內容寫入磁盤,也不想發送數據庫與我的應用程序,如果可以避免。

我必須使用INI文件,因爲它的文件在未加密時將由第三方處理。

歡迎任何建議。

謝謝..

回答

3

我有一個ini文件的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()方法,以便對保存的數據應用某種加密。

+0

這看起來不錯,幾周前我真的需要它! – Skilldrick 2009-06-19 22:21:54

0

聽起來像是內存映射文件的良好應用程序,因爲您可以控制何時將內存中視圖刷新回磁盤上的文件。

+0

是的,這是我的計劃,但我必須確保INI文件永遠不會寫入磁盤未加密而且我可以看到沒有辦法用MMF做到這一點。 – Canacourse 2009-05-25 12:18:26

0

如果從未存儲到磁盤,爲什麼需要以ini文件格式存儲它?

爲什麼不把它作爲數據結構保存在內存中,並使用正常的ini文件方法在需要時將其寫入磁盤。

0

如果你不想保存到文件中,那麼使用INI文件有什麼意義呢? INI API基本上是基於磁盤文件的屬性包或鍵值對。 如果你不想使用文件,我建議你使用自己的散列或字典數據結構來存儲鍵值parirs

+0

Ini文件將存儲在磁盤上,但僅在加密時才存儲。謝謝.. – Canacourse 2009-05-25 12:16:02