2014-08-28 55 views
1

一個便攜式程序是否可以在應用程序中保存數據? 我不希望程序創建文件夾或文件。將數據保存到程序中?

+0

你可以使用數據庫 – nbro 2014-08-28 03:54:12

+0

@ usar這意味着它在服務器中的主機.. 我不認爲我能承受這樣的責任.. – Edenia 2014-08-28 03:54:30

+0

你可以有一個本地數據庫,但我不熟悉數據庫C,我不能幫助你更多的寶貝;)也許別人可以幫助你更多,否則在網絡上的研究可以幫助你更多;) – nbro 2014-08-28 03:56:49

回答

1

爲了以便攜的方式進行操作,您不應該對體系結構或操作系統有任何假設:您可能有可能無法訪問可執行文件(可能是argv[0],但它可能不是't。如果你有權訪問可執行文件,你可以有權打開文件並對其進行修改,但也許你做不到。

如果無論如何,你想嘗試它,你可以:

  • 檢查argv[0]是否是一個文件,您有讀取和寫入權限,如果它確實是您的代碼(正在尋找例如,對於隨機字符串,您可以將其留在代碼中的某處)。

  • 選擇一個字符串來標記您的修改,例如「Edenia」,然後檢查該文件的最後幾個字節是否是那些字符。如果是這樣,該文件先前已被修改,並且您可以讀取您的數據進程。

  • 當您想要存儲其他數據時,將其添加到文件末尾(如果尚未修改),或者替換它所做的修改。不要忘記在文件末尾添加標記(「Edenia」,或其他)。

無論如何,我仍然認爲這不是存儲數據的正確方法:儘可能使用外部存儲(文件,數據庫等)。

+0

我不是要求任何「適當的」方法。我正在尋求一些特別的東西。但是,如果你的答案是正確的,它是豐富的,我+1它。 – Edenia 2014-08-28 17:07:22