我发现<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/