我想分别获取时间和日期以将其放入数组中。我希望调用函数类似于int date(int Day,int Month,int Year)
,但它不正确。如何定义参数Year Month Day和Hour min sec函数来使用它们?
using namespace std;
int date() {
time_t currentTime;
struct tm *localTime;
time(¤tTime);
localTime = localtime(¤tTime);
int Day = localTime->tm_mday;
int Month = localTime->tm_mon + 1;
int Year = localTime->tm_year + 1900;
return (0);
}
int time() {
time_t currentTime;
struct tm *localTime;
time(¤tTime);
localTime = localtime(¤tTime);
int Hour = localTime->tm_hour;
int Min = localTime->tm_min;
int Sec = localTime->tm_sec;
return (0);
}
int main() {
unsigned int new_date=date();
char write[4];
memcpy(write,&new_date,4);
unsigned int new_time=time();
char wrt[4];
memcpy(wrt,&new_time,4);
}
答案 0 :(得分:0)
您必须声明函数以引用传递参数:
// pass arguments by reference to change them in the function
int date(int &Day, int &Month, int&Year) {
time_t currentTime;
struct tm *localTime;
time(¤tTime);
localTime = localtime(¤tTime);
Day = localTime->tm_mday; // use the reference argument
Month = localTime->tm_mon + 1;
Year = localTime->tm_year + 1900;
return (0);
}
然后您可以在main()
:
int d,m,y;
date(d,m,y);
cout << d<<"/"<<m<<"/"<<y<<endl;
你当然可以做同样的事情。