typedef unsigned long long IMSI;什麼格式說明符用於在C中打印「unsigned long long」並在控制檯上獲取截斷值?
IMSI imsi;
當我試圖打印這個使用%llu作爲格式說明符,我得到一個相當不相關的值。
我能做些什麼來消除這個問題?
我也用gcc 4.3.3 我雖然有可能是與我一直在使用的跟蹤機制出了問題,但我用printf時甚至得到了同樣的問題。
imsiAsInt = 9379666465 ;
brrm_trace(ubm_TRACE_BRRM_UECTRL,ubm_TRACE_INFO,
UEC_IUH_ACCACHE_ENTRY_FOUND,imsiAsInt, status.ueRegCause,
mCacheEntries.size());
printf("printf:UEC_IUH_ACCACHE_ENTRY_FOUND=%llu, sizeof(IMSI)=%d\n",
imsiAsInt,sizeof(IMSI));
這給出以下輸出 UEC_IUH_ACCACHE_ENTRY_FOUND IMSI = 789731873,UeRegCause = 1,CurSize = 5 - >跟蹤 的printf:UEC_IUH_ACCACHE_ENTRY_FOUND = 789731873,的sizeof(IMSI)= 8 --->當用printf
也爲7位數的較小值我沒有得到任何問題。
did y ou用非負數初始化它? – 2010-04-27 12:14:25
你可以在最小程序上重新制作這個貼嗎? – 2010-04-27 12:46:47