C の出力演算子を使用して先頭のゼロを出力する方法
C では、出力フォーマットの制御を維持することが重要です。これを実現するには、<< のような出力演算子を使用できます。オペレーター。このガイドでは、出力演算子を使用して C で先行ゼロを出力する方法について説明します。これは、 d 形式指定子を使用した printf() 関数と同様です。
これを実現するには、次のコードを検討してください。
std::cout << "ZIP code: " << sprintf("%05d", zipCode) << std::endl;
このアプローチでは、sprintf() を使用して zipCode を先行ゼロ付きの文字列にフォーマットし、その後 << によって出力されます。オペレーター。ただし、追加の sprintf() 呼び出しがあるため、これは理想的ではありません。
代わりに、C は、より高い柔軟性と制御を提供する IO マニピュレーターを提供します。次のコードはその使用法を示しています。
#include <iostream> #include <iomanip> using namespace std; cout << setw(5) << setfill('0') << zipCode << endl;</p> <p>setw(5) マニピュレータはフィールド幅を 5 文字に設定し、zipCode と先頭のゼロのための十分なスペースを確保します。 setfill('0') マニピュレータは、フィールドの埋め込みに使用される塗りつぶし文字を '0' として指定します。</p> <p>あるいは、fmt ライブラリを使用することもできます。これにより、書式設定が簡素化され、より表現力が高まります。 </p> <pre class="brush:php;toolbar:false">cout << fmt::format("{0:05d}", zipCode);
さらに、C 20 では std::format 関数が導入され、fmt と同様の機能が提供されます。 library.
ただし、これらの IO 操作は cout オブジェクトのグローバルな状態に影響を与えるため、操作を元に戻さない限り、その後の cout の使用が影響を受けることに注意することが重要です。
以上が出力演算子を使用して C で先頭のゼロを出力するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。