2012-07-10 79 views
1

這是第一次,我寫一個相當複雜的應用程序,它會記住用戶的姓名,性別,年齡等。這是我需要發生:持久數據/ C++中設置應用

  • 應用程序啓動,並檢查是否已保存信息(姓名,年齡等)。
    • 如果沒有,應用程序會獲取此信息並將其保存。

當用戶重新啓動該程序,該程序應該看到,信息保存,並保存該信息爲C++變量。

如果你不知道我想要什麼,我可以提供更多信息。我從來沒有這樣做過,而且在搜索了很長一段時間之後,我只是變得更加困惑,所以恐怕我需要一些認真握手,對不起。

謝謝,

- 基督。

+0

你可能想要一個數據庫。 – 2012-07-10 02:04:01

+2

太模糊。最簡單的方法是顯而易見的;將數據寫入文件。當然,這並不能很好地擴展,所以根據您的要求,您可能需要查看數據庫。最後一句的重要部分是*「取決於您的要求...」* – 2012-07-10 02:04:03

+1

您可以使用平面文本文件,數據庫(如SQLite,這對於嵌入式數據很有用),您自己選擇的一些配置格式,甚至使用[Boost來讀取/寫入配置文件](http://stackoverflow.com/questions/6175502/how-to-parse-ini-file-with-boost)。 – birryree 2012-07-10 02:04:16

回答

1

看起來你是C++的新手,所以我建議將信息保存到文件中。 (這是我的課程開始的地方,而不是與數據庫)

這樣的事情應該做的伎倆:

#include <iostream> 
#include <fstream> 
#include <string> 
int main(){ 
    ifstream input("your_saved_file.txt"); 
    string name="", age="", etc=""; 
    input >> name >> age >> etc; 
    if(name=="" || age=="" || etc==""){ 
     input.clear(); input.close(); 
     ofstream output("your_saved_file.txt"); 
     cout << "Enter name: "; 
     cin >> name; 
     cout << "Enter age: "; 
     cin >> age; 
     cout << "Enter etc: "; 
     cin >> etc; 
     output << name << endl << age << endl << etc << endl; 
     output.close(); output.clear(); 
    } 
    else{ 
     input.clear(); input.close(); 
     cout << "Name: " << name << " Age: " << age << " Etc: " << etc; 
    } 
    return 0; 
} 

希望這是你要找的那種東西,

里根

+0

這很好用!非常感謝您的寶貴時間。 – 2012-07-10 02:25:59

+0

np,希望這就是你要找的:) – reagan 2012-07-10 02:28:18

+2

不錯,簡單,但一個問題是,輸入一個'std :: string'只會讀取第一個空白字符(包括'cin'和'input' )。你還需要在整個過程中使用'namespace std;'或'std ::'前綴。 – 2012-07-10 02:31:03