我想让我的代码更加平台/实现独立.time_t在编译代码时,我不知道将在平台上实现什么.我如何知道t要确定使用哪种格式说明符的类型?
...
time_t t = time(NULL);
printf("%s", t);
...
Run Code Online (Sandbox Code Playgroud) 在Windows上我可以打电话:
_time32(__time32_t); // to get 32bit time_t
_time64(__time64_t); // to get 64bit time_t
Run Code Online (Sandbox Code Playgroud)
(32位和64位程序)
在Linux中有没有办法做到这一点(用GCC编译)?
我尝试将其转换为字节数组,但最小字节数组为5.但是我只有4个字节用于此日期时间,以字节形式存储在我的字节数组中.
代码是这样的:
byte[] b = new byte[] {10,12,12,12};
DATETIME t=datetime.now();
array.copy(BitConverter.GetBytes(t.ticks),1,b,4);
Run Code Online (Sandbox Code Playgroud)
但是getbytes(t.ticks)返回8个字节的数组.我不知何故希望它只转换为4个字节.