2015-05-15 2 views
0

Я хочу получить время и дату отдельно, чтобы поместить его в массив. Я хотел бы, чтобы вызывающая функция была как 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(&currentTime);     
    localTime = localtime(&currentTime); 

    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(&currentTime);     
    localTime = localtime(&currentTime); 

    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); 



    } 
+1

Вы понимаете как 'date()', так и 'time()' возвращает '0'? –

+0

да я хочу изменить его, но я не знаю, как? – girl71

+0

У меня нет идеи .... – girl71

ответ

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(&currentTime);     
    localTime = localtime(&currentTime); 

    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; 

Конечно, Вы можете сделать то же самое вещь для времени.

+0

резервуар вы очень ..... – girl71

+0

с удовольствием! Я бы рекомендовал сделать функцию 'void' вместо того, чтобы всегда возвращать 0: это будет ясно, что вызывающие абоненты ничего не ожидают от возвращаемого значения. – Christophe

+0

ОК хорошо ....... – girl71

Смежные вопросы