📄 tst-strptime2.c
字号:
#include <limits.h>#include <stdio.h>#include <time.h>static const struct{ const char *fmt; long int gmtoff;} tests[] = { { "1113472456 +1000", 36000 }, { "1113472456 -1000", -36000 }, { "1113472456 +10", 36000 }, { "1113472456 -10", -36000 }, { "1113472456 +1030", 37800 }, { "1113472456 -1030", -37800 }, { "1113472456 +0030", 1800 }, { "1113472456 -0030", -1800 }, { "1113472456 -1330", LONG_MAX }, { "1113472456 +1330", LONG_MAX }, { "1113472456 -1060", LONG_MAX }, { "1113472456 +1060", LONG_MAX }, { "1113472456 1030", LONG_MAX }, };#define ntests (sizeof (tests) / sizeof (tests[0]))intmain (void){ int result = 0; for (int i = 0; i < ntests; ++i) { struct tm tm; if (strptime (tests[i].fmt, "%s %z", &tm) == NULL) { if (tests[i].gmtoff != LONG_MAX) { printf ("round %d: strptime unexpectedly failed\n", i); result = 1; } continue; } if (tm.tm_gmtoff != tests[i].gmtoff) { printf ("round %d: tm_gmtoff is %ld\n", i, (long int) tm.tm_gmtoff); result = 1; } } if (result == 0) puts ("all OK"); return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -