我發佈了一個我遇到的程序。任何人都可以解釋我這個程序中的ctime函數是如何工作的?
- 「0x7FFFFFFF」是什麼意思?
- ctime()函數是如何工作的?
#include<stdio.h>
#include <time.h>
int main()
{
time_t Variable = 0x7FFFFFFF;
printf("Variable value is = %s \n", ctime(&Variable));
return 0;
}
我發佈了一個我遇到的程序。任何人都可以解釋我這個程序中的ctime函數是如何工作的?
#include<stdio.h>
#include <time.h>
int main()
{
time_t Variable = 0x7FFFFFFF;
printf("Variable value is = %s \n", ctime(&Variable));
return 0;
}
ctime
轉換time_t
值到字符串。從Wiki
time_t的作爲運算類型,但不指定任何特定類型
0x7FFFFFFF
是十進制等於2^31 2147483647
- 1.最大值可在32來表示位有符號整數。
0x7FFFFFFF
是可以用32位有符號整數表示的最大值。如果time_t
是有符號整數類型,那麼ctime(&Variable)
代表在32位系統上的end of the world。我們將從那裏進入未定義的世界。 ;-)
然而,端已經爲time_t
一直postponed通過使用64位的類型。
通常的ctime在以下的方式使用
/* ctime example */
#include <stdio.h> /* printf */
#include <time.h> /* time_t, time, ctime */
int main()
{
time_t rawtime;
time (&rawtime);
printf ("The current local time is: %s", ctime (&rawtime));
return 0;
}
我們首先使用time()
保存在rawtime可變電流時間,然後通過使用ctime()