0

私の出力は判読できません。私がやりたかったのは、日月年を文字列に割り当てることだけです。

now->tm_year+1900 までにそれらを計算すると機能しますが、文字列に割り当てて後で計算すると、次のように出力されます。コードを変更して、後で参照を失うことなく文字列に値を代入できるようにするにはどうすればよいですか。

ターミナル:

Date is 

私のコード:

int main()
{
//get today date
string year,month,day;

/* Output 6 month frame for appointment booking*/
 time_t t = time(0);   // get time now
 struct tm * now = localtime( & t );

year = now->tm_year + 1900;
month = now->tm_mon + 1;
day = now->tm_mday;

cout << "Date is " << year << month << day << endl;

return 0;
}
4

2 に答える 2

2

整数を文字列に代入することはできません (できますが、期待どおりの結果にはなりません)。最初にそれらを変換する必要があります:

std::string year = std::to_string(now->tm_year + 1900);

その他のオプションには、数値を整数として保存することが含まれます。整数も出力できます。

int year = now->tm_year + 1900;
于 2012-08-18T09:15:23.843 に答える
0

コードファイルintの代わりに書くことができます。string

于 2012-08-18T09:44:01.770 に答える