%d を文字どおりに printf する方法
それはおそらく簡単な答えです。しかし、私は答えを見つけることができないようです。
私がしたいとしましょう:
printf( "printf(\"%d\", x );" );
出力を文字通り次のようにしたい:printf( "%d", x );
それを行う方法はありますか?上記のコードをそのまま挿入すると、数値が %d に配置されますが、そこには何も配置したくありません。リテラル %d が欲しいだけです。
では、ここで真に安全なプログラミングの練習をしてみませんか?
printf("%s", "printf(\"%d\", x );" );
puts
またはを使用しますfputs
。これらは、フォーマットされていないテキストを出力するための選択肢です。
puts( "printf(\"%d\", x );");
末尾の改行(私は良い考えだと思います)と一緒にそれを持っているか、
fputs( "printf(\"%d\", x );", stdout);
改行がないと主張する場合。
%
別のものでエスケープします%
:
printf( "printf(\"%%d\", x );" );
%%
文字通りのパーセントに使用できます。
を2 倍に%
して「エスケープ」します。
printf( "printf(\"%%d\", x );" );
^--