我有一些代碼是從設備記錄數據,並用系統時間以毫秒爲單位對數據進行時間戳。魔法撤消fprintf格式錯誤
我使用的是uint64_t
存儲的時間戳,這是這樣創建的:
struct timespec request;
clock_gettime(CLOCK_REALTIME, &request);
uint64_t stamp0 = (uint64_t)((uint64_t)request.tv_sec * 1000 + (uint64_t)request.tv_nsec/1000000);
然後我寫了這樣的記錄到文件(不經過思考的話)的時間戳:
fprintf(ptr,"%ld\n",(long)stamp0);
現在我的文件中有不正確的時間戳,看起來像1130802699
,但應該看起來像1478599582064
。
有什麼我可以做,以解決我的錯誤?
謝謝,時間戳不完全匹配,所以我懷疑你是對的。幸運的是,只有一個多小時的時間,所以翻車不應該是一個問題。你能向我解釋一下你是如何得到'344'價值的嗎? – James
謝謝,這真的有幫助,你救了我很多痛苦。 – James