問題タブ [format-specifiers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - "%-9s" は何をしますか?
私はCプロジェクトに取り組んでおり、現在オープンソースの方法を使用してコードに統合しています。コードを調べているときに、次のようなprintfステートメントに出くわしました。
フォーマット指定子%sは理解していますが、%9sとは何ですか?
これに対する解決策を探してみましたが、成功しませんでした。どんな助けでも役に立ちます。
objective-c - Objective-Cでフォーマット指定子と代入演算子だけを使用してキャストするのはクリーン/安全ですか?
Objective-C では、浮動小数点変数を int 変数に代入するだけで浮動小数点数を整数に変換し、NSLog 呼び出しで書式指定子 %i を使用して、型キャストへのクリーンで安全なアプローチですか?
これを行う適切な方法は、次のように型キャストを宣言することです。
出力:
x の値は 7
この型キャスト方法は理想的なアプローチですが、浮動小数点変数を int 変数に代入しようとしただけで、同じように機能します。違いはありますか?
これは、(型キャスト) を使用しない他の方法です。
出力:
x の値は 7
ご覧のとおり、同じ結果ですが、違いは何ですか? 両方の方法が良いですか?どちらがきれいですか?
c - c の %*d とは何ですか?
私はコードに出くわしました:
出力: n= 5
. %*d
2 つのパラメーターを許可し、フィールド幅を返すことを知っています。ただし、n
の値を に変更してみました9
。しかし、出力は同じ形式 (つまりn= 9
) でした。%*d
また、フィールド幅を正しく理解しているかどうかも 100% 確信が持てません。
したがって、私の質問は%*d
、Cのフィールド幅とは何ですか.
ありがとう。
編集:
わかりました、みんなありがとう。スペースを 1 つに結合していたのは私のコンパイラであることがわかりました。
c - マクロを使用して print ステートメントを変換する
私のコードでは、1 つのタイプのデバッグ ステートメントを複数回使用しDEBUG("abcd");
てDEBUG("abc %d def", val)
います。
ただし、これらすべてを、次のような宣言を含む関数を使用する必要がある別のタイプのログに変換したいと考えています。
使い方:WRITE(L"abcd")
etc. このdebug文の使い方は膨大なので、マクロを使って変換したいと考えています。これはできますか?また、DEBUG
関数がフォーマット指定子も取り込んでいたことを考えると?