gpt4 book ai didi

c - strtoul 从字符串日期 ("03/10/2013 14:01:00") 转换为 time_t

转载 作者:行者123 更新时间:2023-11-30 17:45:51 25 4
gpt4 key购买 nike

我不明白,为什么这不起作用?PS:我从一些谷歌找到了这段代码!

问题:我不知道为什么它会起作用?这也考虑时区吗?!

  1 #include<stdio.h>
2 #include <stdlib.h>
3 #include <string>
4 #include <time.h>
5 int main()
6 {
7 std::string text("10/10/2013 14:01:00");
8 const char* nptr = text.c_str();
9 char* endptr = NULL;
10 time_t seconds_from_epoch = strtoul(nptr, &endptr, 0);
11 if (secs != 0)
12 printf("Secs: %ld\n", secs);
13 if (*nptr != '\0' && endptr && *endptr == '\0') {
14 printf("Secs: %ld\n", secs);
15 } else {
16 printf("Unable to convert\n");
17 }
18 }

最佳答案

这是错误的假设。

我就是这样做的:

 21     printf("************************\n");
22 int day, month, yr, hr, min, sec, tzone;
23 char* more = (char *)nptr;
24 month = strtol(more, &more, 10);
25 day = strtol(more+1, &more, 10);
26 yr = strtol(more+1, &more, 10);
27 hr = strtol(more+1, &more, 10);
28 min = strtol(more+1, &more, 10);
29 sec = strtol(more+1, &more, 10);
30 tzone = strtol(more+1, &more, 10);
31
32 printf("Month: %d, Day: %d, Year: %d, Hour: %d, Min: %d, Sec: %d, Tzone: %d\n",
33 month, day, yr, hr, min, sec, tzone);

然后可以使用 struct tm 和 mktime。

关于c - strtoul 从字符串日期 ("03/10/2013 14:01:00") 转换为 time_t,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19541561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com