0

我的输出是不可读的,我想做的就是将日月年分配到一个字符串中。

如果我通过 now->tm_year+1900 cout 它们,它可以工作,但如果我将它分配给一个字符串并稍后 cout,它会像这样输出。如何更改我的代码,以便我可以将值分配给字符串,而不会丢失稍后在 cout 上的引用。

终端:

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 回答