Программа выполняется в определенное время - PullRequest
0 голосов
/ 19 ноября 2011

Хорошо, поэтому мой вопрос, как я могу сделать программу, которая в основном выполняет остальную часть программы, например, в 12 часов вечера. Например, какой-то нереалистичный код:

#include <stdio.h>
#include <time.h>

int main()
{

     Get_time() //Gets system time

     if(time() == 254pm ){ //if time is 2:54pm

             printf("Time: 2:54pm\n");
         }

      else printf("Program can not execute at this time.\n");

      return 0;
 }

Кто-нибудь знает, как я могу сделать нечто подобное?

Ответы [ 2 ]

2 голосов
/ 19 ноября 2011

Используйте localtime для получения текущего времени.

#include <stdio.h>
#include <time.h>

int main ()
{
    // Get system time
    time_t rawtime;
    struct tm * timeinfo;

    time ( &rawtime );
    timeinfo = localtime ( &rawtime );

    // Check
    if(timeinfo->tm_hour == 14 && timeinfo->tm_min == 54)
    {
        printf("Time: 2:54pm\n");
    }

  return 0;
}
0 голосов
/ 19 ноября 2011

Есть много способов сделать это, но важная часть состоит в том, чтобы освободить процессор.в противном случае с бесконечным циклом вы бы потратили много ресурсов.Я бы предложил использовать Sleep() или умный механизм ожидания, такой как Boost Library.Sleep() намного проще для вас, и все, что вам нужно, это включить windows.h

Пример кода:

#include <windows.h>
#include <time.h> 

int main() {
    int timeDelta = ...; // calculate time delta in miliseconds here (12 PM today - now)
    Sleep(timeDelta);
    // execute your code here
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...