プロが教える店舗&オフィスのセキュリティ対策術

unsigned long long 型の変数の値を表示したいのですが、
フォーマット指定子は%ldですか?
よろしくおねがいします。

A 回答 (3件)

規格上は、%llu のように ll を付けます。

(unsigned long longなので、%lld ではなく %llu です。)
ただし、C99に準拠した処理系ではなく、単に独自拡張としてlong long型をサポートしている場合には、%Lu とか %qu とかになる場合もあります。場合によっては、long long型が存在する処理系でも、printf系関数で正しく書式化する方法が存在しないこともあり得ます。
    • good
    • 1
この回答へのお礼

ありがとうございます
%lluで出来ました!

お礼日時:2007/06/24 16:33

★アドバイス


・C99 の規格上では long long 型が『%lld』で unsigned long long 型が『%llu』です。
 でもコンパイラによっては利用できなかったり、『%I64d』、『%I64u』で同等の機能を
 用意していることがあります。
・VC++2003.NET では『%lld』、『%llu』は使えないようです。
 その代わりに『%I64d』、『%I64u』、『%I64o』、『%I64x』などが用意されています。
 『I64』が 64 ビットを表しているようで他にも『I32』の 32 ビット版もあります。
・使用例としては
 unsigned long long a = 0x0123456789ABCDEF;
 
 printf( "a = %I64u\n", a );
 printf( "a = 0x%016I64X\n", a );
 ↑
 こんな感じになります。
・使っているコンパイラが分からないため参考程度にして下さい。
・以上。
    • good
    • 0
この回答へのお礼

ありがとうございます
%lluで出来ました!

お礼日時:2007/06/24 16:32

マニュアルは読みましたか?


# VC++8では %llu でした。
    • good
    • 0
この回答へのお礼

ありがとうございます

お礼日時:2007/06/24 16:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A