[解決済み] printfに%zu指定は必要ですか?
2022-03-09 21:12:20
質問
組み込みプラットフォームでC89を使用しています。をプリントアウトしようとしました。
size_t
が、うまくいきません。
#include <stdio.h>
int main(void) {
size_t n = 123;
printf("%zu\n",n);
return 0;
}
の代わりに
123
を取得しました。
zu
.
その他の指定子は正しく動作します。
もし
size_t
が存在してはならない。
zu
にもあります。
printf
?
これはライブラリベンダーに問い合わせるべきことなのでしょうか、それともライブラリの実装で除外してもいいのでしょうか?
解決方法は?
<ブロッククオートsize_t があるのなら、printf でも zu を使えるようにすべきではないでしょうか?
size_t
は少なくとも C89 から存在していましたが、それぞれの書式指定子
%zu
(具体的には、長さ修飾子
z
)は、C99以降にのみ標準に追加された。
そのため、C99(またはC11)が使えず、印刷しなければならなかった場合
size_t
をC89で使う場合は、他の既存の型にフォールバックすればいいだけです。
printf("%lu\n", (unsigned long)n);
関連
-
[解決済み】C言語で「関数の型が競合しています」と表示される、なぜ?
-
[解決済み】警告:組み込み関数'printf'の非互換な暗黙の宣言(デフォルトで有効]
-
[解決済み] mallocの結果はキャストするのですか?
-
[解決済み] printf/String.Formatに相当するJavaScriptの機能
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] printfは、フォーマット文字列の中に改行がないと、呼び出し後にフラッシュしないのはなぜですか?
-
[解決済み] longをフォーマットするprintfの引数は何ですか?
-
[解決済み] printfにおけるdoubleの正しい書式指定子
-
[解決済み】C/C++の"-->"演算子とは何ですか?
-
[解決済み】boolのprintfフォーマット指定子とは?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"Expected expression before ' { ' token"(トークンの前に期待される式)。
-
[解決済み】エラー:'for'ループの初期宣言はC99モードでしかできない【重複
-
[解決済み】「構造体でもユニオンでもないものにメンバー'*******'を要求する」とはどういう意味ですか?
-
[解決済み】エラー。非スカラー型への変換を要求された
-
[解決済み】警告:組み込み関数'printf'の非互換な暗黙の宣言(デフォルトで有効]
-
[解決済み】サイズ8の無効な読み取り - Valgrind + C
-
[解決済み】「複数の定義」「最初に定義されたのはここです」エラーについて
-
[解決済み] [Solved] .Cファイルをコンパイルしています。アーキテクチャ x86_64 の未定義シンボル
-
[解決済み】Linuxソケットのwrite()でBad File Descriptorが発生するC
-
[解決済み】C言語でpow( )への未定義参照、math.hを含むにもかかわらず【重複】。