我发现<time.h>
中有ctime和_ctime_32,但ctime也不是CTime。有CTime 32位模拟吗?或者类似于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
答案 0 :(得分:1)
我只有Visual Studio Express并且无法测试它,但编译器是否应该自动将32位类型转换为64位类型?反过来这样做会导致关于失去精度的警告,但是32到64位的转换应该不成问题。测试它,如果不起作用则返回。