次の方法で共有


文字列および I/O の書式設定 (Modern C++)

C++ でだけ、書式指定文字列の I/O に使用する複雑になります。別の方法として、標準外でも、C++ Boost ライブラリの Boost.Format を使用できます。ライブラリを Boost Web Boost サイトからダウンロードできます。

Boost.Format の利点は以下のとおりです:

  • : safe タイプ セーフ、およびスロー不足エラーの例では、仕様または多すぎる項目の例外。

  • 拡張可能: ストリーム転送できる型のしくみ。

  • :便利 標準 Posix と同様のファイル形式の文字列。

Boost.Format が安全、拡張可能である だけC++ でビルドが、パフォーマンス最適化されません。パフォーマンスの最適化を要求すると、quick、使いやすい検討してください sprintf、および C を printf。ただし、脆弱性から拡張または安全ではありません。(セキュリティが強化されたバージョンがありますが、わずかながらパフォーマンスが低下します。詳細については、printf_s、_printf_s_l、wprintf_s、_wprintf_s_lsprintf_s、_sprintf_s_l、swprintf_s、_swprintf_s_lを参照)。

次のコードは、Boost 形式の機能の一部を示しています。

    string s = str( format("%2% %2% %1%\n") % "world" % "hello" );
    // s contains "hello hello world"  
 
    for( auto i = 0; i < names.size(); ++i )
        cout << format("%1% %2% %|40t|%3%\n") % first[i] % last[i] % tel[i];
    // Georges Benjamin Clemenceau             +33 (0) 123 456 789
    // Jean de Lattre de Tassigny              +33 (0) 987 654 321

参照

その他の技術情報

C++ へようこそ (Modern C++)

C++ 言語リファレンス

C++ の標準ライブラリの参照