struct tm的glibc版本有其他字段
long tm_gmtoff; /* Seconds east of UTC */
const char *tm_zone; /* Timezone abbreviation */
(参考:http://linux.die.net/man/3/ctime) 我的问题是:如果我有一个名为struct tm a的数据,我想将其复制到另一个struct tm b,如下面的代码:
time_t t = time(0);
const tm *pa = localtime(&t);
struct tm a;
if(pa) {
memcpy(&a, pa, sizeof(a));
}
但是,tm_gmtoff和tm_zone会发生什么?如何复制这些字段?
答案 0 :(得分:2)
这是编译器的工作。它将采取一切必要的行动 只是做:
struct tm a = *localtime(&t);