Что такое CTime (есть ли) 32-битный аналог? - PullRequest
0 голосов
/ 14 декабря 2011

Я обнаружил, что в <time.h> есть ctime и _ctime_32, но ctime не является CTime. Есть ли 32-битный аналог CTime? Или, может быть, что-то похожее 32-битный CTime с __time32_t. У меня проблемы с совместимостью при использовании 64-битных версий.

хорошо, может быть, мне вообще не нужен CTime, я получаю __time32_t и использую его для предоставления варианта времени:

SYSTEMTIME st;
   CTime tmp =  pCurPar[pot->numSubsection].SysTime;
      tmp.GetAsSystemTime( st );
    SystemTimeToVariantTime(&st,&pot->Value.date);

но я думаю

CTime tmp =  pCurPar[pot->numSubsection].SysTime;

неверное преобразование, потому что мой .SysTime - __time32_t, а CTime использует 64-битную версию.

даже у меня есть одна ситуация, когда мне нужно предоставить его как time32_t, но с pot->Value.intVal = DayRec[pot->numSubsection].startTime.GetTime(); У меня есть предупреждение Warning 3 warning C4244: '=' : conversion from '__time64_t' to 'INT', possible loss of data

1 Ответ

1 голос
/ 14 декабря 2011

У меня есть только Visual Studio Express и я не могу его протестировать, но не должен ли компилятор автоматически преобразовывать 32-битный тип в 64-битный?Если сделать это наоборот, появится предупреждение о потере точности, но преобразование 32-разрядных битов не должно быть проблемой.Протестируйте его и вернитесь, если он не работает.

...