我发现<time.h>中有ctime和_ctime_32,但是ctime不是CTime。有CTime 32位模拟吗?或者也许是类似__time32_t的32位CTime。使用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

最佳答案

我只有Visual Studio Express,无法对其进行测试,但是编译器是否应该自动将32位类型转换为64位类型?反之亦然,这将引起有关精度降低的警告,但是32到64位转换应该不是问题。测试它,如果不起作用,请回来。

关于c++ - 什么是CTime(有)32位模拟?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8499871/

10-11 09:11