2016-11-10 40 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++は、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

ありがとう、ジェリー、それは私が欲しいものです!もう1つの質問を聞かせてください。ここではcinを使いました。ユーザーからの入力を得るために使うべきだと思いますか? TXTファイルからorig_dateという名前の列をインポートして、その値をorigに入れたいのですが?ありがとう。 –

+0

@VictorYan:かなり類似しています。単に 'ifstream'を開き、' cin'の代わりに使ってください: 'std :: ifstream in(" somefile.txt "); >> std :: get_time( "%m /%d /%y"、&orig); 'もちろん、ファイル内に何か他のものがあれば、適切に扱わなければならないでしょう... –

関連する問題