Я передаю функцию GetCurrentDate()
указатель на структуру tm. Внутри этой функции я печатаю неинициализированные данные, затем инициализирую. Ожидаемые результаты.
Однако, когда я возвращаюсь, структура tm кажется неинициализированной. Смотрите вывод консоли ниже. Что я делаю не так?
неинициализированная дата: ??? ??? - 1073908332
01: 9448278: -1073908376 -1217355836
дата инициализации: ср 5 мая 23:08:40
2010
Дата звонящего: ??? ??? - 1073908332
01: 9448278: -1073908376 -121735583
int main()
{
test();
}
int test()
{
struct tm* CurrentDate;
GetCurrentDate(CurrentDate);
printf("Caller date:%s\n",asctime (CurrentDate));
return 1;
}
int GetCurrentDate(struct tm* p_ReturnDate)
{
printf("uninitialized date:%s\n",asctime (p_ReturnDate));
time_t m_TimeEntity;
m_TimeEntity = time(NULL); //setting current time into a time_t struct
p_ReturnDate = localtime(&m_TimeEntity); //converting time_t to tm struct
printf("initialized date:%s\n",asctime (p_ReturnDate));
return 1;
}