簡體   English   中英

將time_t轉換為int

[英]Converting time_t to an int

我想將time()作為time_t返回的Unix時間戳轉換為整數。 我一直在尋找解決方案20分鍾,並決定在這里詢問。

我找到的每個解決方案都沒有用。 當嘗試從time_t轉換為int時,出現錯誤:

long int t = static_cast<long int> time(NULL);

錯誤C2061:語法錯誤:標識符“時間”

錯誤C2146:語法錯誤:標識符'時間'之前缺少'('

我對C ++非常陌生。 提前致謝。

time_t已經是一個整數,盡管它是故意選擇存儲系統的整個UNIX時間范圍的整數,所以我建議不要使用此類型。

但是,如果您堅持認為,您處在正確的位置,但只是錯誤地使用了強制轉換語法

通常,將e靜態轉換為T看起來像這樣:

static_cast<T>(e)  // <-- parentheses!

就像錯誤消息告訴您的那樣,您“在標識符'time'之前缺少'(')”。

因此,您的表情將是:

long int t = static_cast<long int>(time(NULL));

只需閱讀錯誤,然后插入“ missing(在標識符時間之前”

long int t = static_cast<long int>(time(NULL));

static_cast要求將值封裝在括號中

只需在時間周圍添加括號(NULL):

long int t = static_cast<long int>(time(NULL));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM