Хорошо, поэтому я экспериментирую с time.h, то, что я пытаюсь сделать, это создать локальное время и сравнить его с заданным временем (triggerTime). Простое звучание, но на самом деле, я уверен, что я не инициализировал свой time_t trigTime должным образом, потому что, когда я вызываю printf («В тоне время будет:% s», ctime (trigTime)); он возвращает Wen Dec 31 1969, а не дату, которую я установил. В чем проблема? Более того, как я могу взять triggerTime и инициализировать struct * tm с ним, а затем сравнить его с localTimeInfo?C/C++ time.h, неправильное время распечатывать, сравнение раз
#include <stdio.h>
#include <time.h>
int main()
{//start main
/****************CURRENT TIME**************************************************/
struct tm *localTimeInfo;//structure to be used to format Local Time
time_t localTime;//create a local time
time(&localTime);//Get the value of local time
localTimeInfo = localtime(&localTime);//store the value of localTime to localTimeInfo
printf("At the Tone, the time will be: %s", asctime(localTimeInfo));
/*****************END CURRENT TIME*********************************************/
/*****************TRIGGER TIME*************************************************/
char *triggerTime = "23 2:30:00 2015";
struct tm *triggerTimeInfo;
time_t trigTime = *triggerTime;
printf("At the Tone, the time will be: %s", ctime(&trigTime));
/*********************END TRIGGER TIME*****************************************/
return 0;
}//end main
См. Ответ на этот вопрос для примера того, как преобразовать строку в time_t: http://stackoverflow.com/questions/7101433/c-converting-string-to-time-t-question – samgak