我有以下代码片段:
time_t data1 = time(0)+86400;
struct tm * data_emprestimo = localtime( & data1 );
cout << "Hoje: " << data_emprestimo->tm_mday << '/' << (data_emprestimo->tm_mon + 1) << '/' << (data_emprestimo->tm_year + 1900) << endl;
效果很好。
但是我想知道我应该在一个函数中返回什么样的cout echos和变量:struct tm?只是?阵列?字符串?
我尝试过这样的事情:
struct tm retornaData(int segundosAdd);
...
...
struct tm retornaData(int segundosAdd){
return data_emprestimo;
}
但它不起作用。
我已经搜索了很多内容!
答案 0 :(得分:0)
struct tm * data_emprestimo
声明一个指向结构的指针,因此要将结构本身作为值返回,需要取消引用指针return *data_emprestimo;
。
答案 1 :(得分:0)
在我看来,您希望编写一个返回日期字符串表示形式的函数。
在c ++中,std :: string将是字符串数据的自然返回类型。 更多C风格的方法可能会建议你传入一个char *作为你希望打印日期的缓冲区 - 通常std :: string被认为是一种更干净,更强大的方法。