[解決済み】C言語でint64_t型を表示する方法
2022-02-07 17:39:06
質問
C99規格では、int64_tのようなバイトサイズの整数型があります。Windowsの
%I64d
形式は、現在(または符号なし
%I64u
)のようになります。
#include <stdio.h>
#include <stdint.h>
int64_t my_int = 999999999999999999;
printf("This is my_int: %I64d\n", my_int);
というコンパイラの警告が表示されます。
warning: format ‘%I64d’ expects type ‘int’, but argument 2 has type ‘int64_t’
で試してみました。
printf("This is my_int: %lld\n", my_int); // long long decimal
しかし、同じ警告が表示されます。私はこのコンパイラーを使っています。
~/dev/c$ cc -v
Using built-in specs.
Target: i686-apple-darwin10
Configured with: /var/tmp/gcc/gcc-5664~89/src/configure --disable-checking --enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin10 --program-prefix=i686-apple-darwin10- --host=x86_64-apple-darwin10 --target=i686-apple-darwin10 --with-gxx-include-dir=/include/c++/4.2.1
Thread model: posix
gcc version 4.2.1 (Apple Inc. build 5664)
変数my_intを警告を出さずに表示するには、どのようなフォーマットを使用すればよいですか?
どのように解決するのですか?
対象
int64_t
の型があります。
#include <inttypes.h>
int64_t t;
printf("%" PRId64 "\n", t);
について
uint64_t
の型があります。
#include <inttypes.h>
uint64_t t;
printf("%" PRIu64 "\n", t);
を使用することもできます。
PRIx64
を使うと16進数で表示されます。
cppreference.comに全リストがあります。
を含むすべてのタイプで利用可能なマクロの
intptr_t
(
PRIxPTR
). のように、scanf用のマクロが別に用意されています。
SCNd64
.
PRIu16の典型的な定義は次のとおりです。
"hu"
そのため、コンパイル時に暗黙のうちに文字列定数の連結が行われます。
コードを完全にポータブルにするためには
PRId32
などを印刷することができます。
int32_t
、および
"%d"
などを印刷することができます。
int
.
関連
-
[解決済み】C 言語の添え字で配列の要素値を代入すると、配列でもポインタでもベクトルでもない値になる
-
[解決済み] Connect: ソケット以外でのソケット操作
-
[解決済み] テスト
-
[解決済み】fgetsによるセグメンテーションフォールト(コアダンプ) - と思う。
-
[解決済み】コンパイラの警告 - 真理値として使用される代入の周囲に括弧を付けることを推奨する
-
[解決済み】警告:引数「互換性のないポインタ型から」を渡す[デフォルトで有効]。
-
[解決済み] テスト
-
[解決済み】makefile:4。*** missing separator. 停止する
-
[解決済み】.axfファイルとは何ですか?
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] strtokのセグメンテーションフォールト
-
[解決済み】C言語におけるファイルスコープでの可変長配列の変更
-
[解決済み】 strcpyとstrdupの比較
-
[解決済み】「構造体でもユニオンでもないものにメンバー'*******'を要求する」とはどういう意味ですか?
-
[解決済み】ヒープ割り当てで初期化されていない値が作成された
-
[解決済み】sizeof float (3.0) vs (3.0f)
-
[解決済み】インクリメントオペランドとして lvalue が必要です。
-
[解決済み】エラー:不明な型名'bool'
-
[解決済み] Cプログラムで「配列の添え字が整数でない」。
-
[解決済み] uint64_tをprintfするには?で失敗する。"spurious trailing '%' in format" で失敗します。