2016-11-10 20 views
-4

我是一位風險建模人員,他經常使用SAS和SQL,但是對於C++來說是新的。我目前正在研究IOS問題,並有一個關於約會的問題可能需要你們的幫助。假設在txt文件中有一個名爲Origination_date的字段,格式爲:mm/dd/yy。我的目的是將其讀入這樣的 變量:C++將結果讀入日期

struct orig_date 
{ 
    int oyr;//extract year from origination date 
    int omonth; 
    int oqtr;//no necessary at begin 
    int oday; 
}; 

我應該做的就是我想要的嗎?謝謝你的幫助!

回答

0

如果您有任何選擇,請不要爲此任務創建自己的類型。

C和C++已經提供了tm結構包含一個破舊的日期和時間,與程序一起從time_t到/轉換,和I/O操作。除非我有一個壓倒性的理由否則,我只是用它。例如,閱讀你給的格式的日期,你可以使用這樣的事情:

std::tm orig; 

std::cin >> std::get_time("%m/%d/%y", &orig); 

你給那麼將可作爲orig.tm_yearorig.tm_mon,和orig.tm_mday的領域。

+0

謝謝傑瑞,這就是我想要的!讓我再問一個問題,在這裏你使用了cin,我猜它應該用來從用戶那裏獲得輸入嗎?如果我想從TXT文件導入一個名爲orig_date的列並將這些值放入orig中,該怎麼辦?謝謝。 –

+0

@VictorYan:非常相似 - 只需打開一個ifstream,並用它代替'cin':'std :: ifstream in(「somefile.txt」);在>> std :: get_time(「%m /%d /%y」,&orig);'當然,如果文件中還有其他東西,那麼您必須正確處理這個問題...... –