wprintf 中使用%I64d格式化輸出LONGLONG
在寫某個程序時,因為需要用到一個大的整數,就是要了LONGLONG型:
代碼如下:
LONGLONG nLarge;
但是格式化時不知道應該用什麼字符,用 %d,%l都不行。
LONGLONG
LONGLONG其實就是int64類型。在winnt.h可以看到:
代碼如下:
typedef __int64 LONGLONG;
所以要想輸出就要看__int64使用什麼格式符了。通過查MSDN中,發現是:I64。
在格式化輸出則還需要結合一個d,即%I64d。對於無符號的ULONGLONG,則是%I64u。
例子
代碼如下:
LONGLONG nLarge = 9999999888;
wprintf(L"LONGLONG = %I64d\n", nLarge);
ULONGLONG uLarge = 99999998777;
wprintf(L"ULONGLONG = %I64u", uLarge);
輸出如下:
代碼如下:
LONGLONG = 9999999888
ULONGLONG = 99999998777