Freigeben über


Zeichenfolge und E/A-Formatierung (modernes C++)

C++-iostreams sind schwierig, für formatierte Zeichenfolge E/A zu verwenden.Alternativ können Sie Boost.Format von den Auftriebs-C++-Bibliotheken verwenden, obwohl sie nicht dem Standard entspricht.Sie können jede Auftriebsbibliothek Auftrieb von der Website herunterladen.

Einige Vorteile von Boost.Format sind:

  • Sicher: Typsicher und löst eine Ausnahme für Fehler – z. B. die Angabe von zu wenige oder zu viele Elemente.

  • Erweiterbar: Funktionen für jeden Typ, der gestreamt werden kann.

  • Bequem: Standard-Posix und ähnliche Formatzeichenfolgen.

Obwohl Boost.Format auf C++ iostreams erstellt wird, die sicher und erweiterbar sind, werden sie nicht Leistung-optimiert.Wenn Sie Leistungsoptimierung benötigen, sollten Sie C printf und sprintf, die schnell und einfach zu verwenden sind.Allerdings sind sie nicht erweiterbar oder von der Sicherheitsrisiken sicher.Sichere (Versionen vorhanden sind, jedoch verursachen eine geringfügige Leistungseinbußen.Weitere Informationen finden Sie unter _printf_s_l, wie, wprintf_s, _wprintf_s_l und sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l).

Im folgenden Code werden einige der Auftriebsformatierungsfunktionen.

    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

Siehe auch

Weitere Ressourcen

Willkommen zurück in C++ modernes (C++)

C++-Sprachreferenz

C++-Standardbibliothek-Referenz