我的输出无法读取,我想要做的就是将日期年份分配为字符串。
如果我现在通过它们> tm_year + 1900,它可以工作,但如果我将它分配给一个字符串和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;
}
答案 0 :(得分:2)
你不能将整数分配给字符串(嗯,你可以,但它并不完全符合你的期望);你必须先转换它们:
std::string year = std::to_string(now->tm_year + 1900);
其他选项包括将数字存储为整数;你也可以打印整数:
int year = now->tm_year + 1900;
答案 1 :(得分:0)
您可以在代码文件中编写int
而不是string
。