местное время возвращает ноль - PullRequest
3 голосов
/ 28 марта 2011

местное время возвращает ноль. Зачем? (Я использую Visual C ++ 2008)

struct tm    *tb;   
time_t       lDate;      

time(&lDate);

tb = localtime(&lDate); // tb is null everytime I try this!      

Ответы [ 3 ]

1 голос
/ 07 августа 2012
 #include <time.h>
 #include <stdio.h>

 int main(void)
  {
     // get the current time
     time_t now = time(0);
     struct tm* theTime = localtime(&now);
     int t=(int)theTime;
     printf("%d",t);
     getch();
     return 0;
  }

это работает

1 голос
/ 28 марта 2011

Это ваш точный код?Я только что скомпилировал эту программу, и она отлично работает:

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

int main(int argc, char **argv)
{
    struct tm *tb;
    time_t lDate;

    time(&lDate);
    if (lDate == -1) {
        perror("time");
        return 1;
    }

    tb = localtime(&lDate);
    if (tb == NULL) {
        fprintf(stderr, "localtime failed\n");
        return 1;
    }

    printf("Good\n");
    return 0;
}
0 голосов
/ 28 марта 2011

Код, который вы разместили в ваших комментариях, работает нормально, пока вы не доберетесь до оператора if. Я не уверен, что вы пытаетесь сделать здесь, но у вас есть ; в if (pArea);, которого почти наверняка не должно быть (трудно сказать, так как он ужасно отформатирован, потому что вы поместили его в комментарий). Вы также все время возвращаете 0, это то, что вы намеревались сделать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...