Stringa e formattazione di I/O (C++ moderno)
Gli iostream C++ sono complessi utilizzare per stringa formattata I/O.In alternativa, è possibile utilizzare Boost.Format dalle librerie di push C++, anche se non standard.È possibile scaricare qualsiasi raccolta Push di push dal sito Web.
Alcuni vantaggi di Boost.Format sono:
Sicurezza: Indipendente dai tipi e genera un'eccezione a stati, ad esempio la specifica di troppo piccole quantità di codice o un numero eccessivo di elementi.
Estensibile: Funziona per qualsiasi tipo che può essere trasmessoe.
Utile: Posix standard e simili stringhe di formato.
Sebbene Boost.Format venga compilato in C++ iostream, sicure e estensibili, le prestazioni non ottimizzate.Quando si chiama per l'ottimizzazione delle prestazioni, considerare C printf e sprintf, ovvero veloci e di facile utilizzo.Tuttavia, non sono estendibili o sicuro dalle vulnerabilità.(Versioni sicure esistono, ma comportano una riduzione delle prestazioni piccole.Per ulteriori informazioni, vedere printf_s, _printf_s_l, wprintf_s, _wprintf_s_l e sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l).
Il codice seguente vengono illustrate alcune delle funzionalità di formattazione di push.
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