c - 如何将 32 位 time_t 值转换为 64 位 time_t

标签 c windows type-conversion 32bit-64bit time-t

我正在开发嵌入式系统。我们的平台是 32 位,因此 time_t 大小是 32 位。

现在我想将一个结构作为 char 数组发送到 Windows 7 计算机。 我的结构体的字段之一是time_t。 我无法更改结构。

因此,我必须使用 32 位变量将时间值发送到 Windows 计算机,当 char 数组到达时,我必须将 32 位无符号 int 值转换为 64 位 time_t

我认为我无法直接将 32 位整数转换为 64 位 time_t 因为 32 位 time_t 从 1970 年开始,但 64 位从 1970 年开始1600。

那么有什么办法可以转换吗?

最佳答案

参见:time, _time32, _time64 documentation

两者都从 1970 年 1 月 1 日开始。在将其作为字符发送时,您只需担心字节顺序。

关于c - 如何将 32 位 time_t 值转换为 64 位 time_t,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11223075/

相关文章:

字符设备捕获多个 (int) ioctl 参数

python - 将 CMD 命令与可执行 python 脚本结合使用

C++ 重载歧义 : conversion versus promotion with primitive types

types - 如何在 u32 和 usize 之间进行惯用转换?

c - 循环遍历并将数据分配给结构成员的宏错误地将结构成员识别为指针

c - 在 C99 中使用 free() 之后的指针?

c - 如何使文件指针指向文件的开头?

c - 在 C 中使用++ 运算符时出错

windows - 如何在 ActiveState Perl 5.20 上安装 Lib::XML?

java - 安装 TestNg 和所有相关 jar 文件后,Eclipse "Run as"不显示 "Run as TestNg"选项