ホームページ > バックエンド開発 > C++ > C 出力演算子 (` を使用して出力をフォーマットするにはどうすればよいですか)

C 出力演算子 (` を使用して出力をフォーマットするにはどうすればよいですか)

Patricia Arquette
リリース: 2024-12-07 09:18:14
オリジナル
352 人が閲覧しました

How Can I Format Output Using the C   Output Operator (`

出力演算子 (<<) を使用した出力の書式設定

C の出力演算子 (<<) を使用して出力を書式設定する方法を探します。 printf を利用することもできますが、出力演算子の使用をお勧めします。

解決策

次のコードは、出力演算子を使用して出力を効果的にフォーマットします。

#include <iostream>
#include <iomanip>

using namespace std;

int main() {
  int zipCode = 12345;
  cout << setw(5) << setfill('0') << zipCode << endl;

  return 0;
}</h2>
<p>このコードIO マニピュレータを利用してパディングを制御します:</p>
<ul>
<li>setw(width) はフィールド幅を次のように設定します。 5.</li>
<li>setfill(fillchar) は、塗りつぶし文字を '0' に設定します。</li>
</ul>
<p>これにより、郵便番号は先頭にゼロを付けてフォーマットされます: 012345.</p>
<h2>代替アプローチ</h2>
<p>より簡潔なアプローチを希望する場合は、fmt を使用できます。 library:</p>
<pre class="brush:php;toolbar:false">cout << fmt::format("{:05d}", zipCode);
ログイン後にコピー

C 20 以降では、std::format 機能が利用可能です:

cout << std::format("{:05d}", zipCode);
ログイン後にコピー

考慮事項

これらの IO マニピュレータはグローバルに影響を与えることに注意してください。コートの状態。操作を明示的に元に戻さない限り、その後の cout の使用は影響を受けます。

負の数値の場合は、std::internal を使用して、符号と大きさの間に塗りつぶし文字を配置します。

cout << internal << setw(5) << setfill('0') << zipCode << endl;
ログイン後にコピー

すべての郵便番号は負ではないと仮定しても問題ありませんが、それでもこれは仮定です。

以上がC 出力演算子 (` を使用して出力をフォーマットするにはどうすればよいですか)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート