Sdílet prostřednictvím


Řetězec a I/O formátování (moderní C++)

C++ iostreams jsou náročný pro formátovaný řetězec vstupně-výstupní operace.Jako alternativu můžete použít Boost.Format z knihovny Boost C++, přestože je nestandardní.Můžete stáhnout všechny knihovny Boost Boost webu.

Některé výhody Boost.Format:

  • Bezpečné: Bezpečným a vyvolá výjimku pro chyby – například specifikace příliš málo nebo příliš mnoho položek.

  • Extensible: Volba pro libovolný typ, který může být datovým proudem.

  • Pohodlná: Standard Posix a podobné formátovací řetězce.

I když Boost.Format je založen na C++ iostreams, které jsou bezpečné a rozšiřitelné, nejsou, optimalizovanou pro výkon.Pokud požadujete optimalizace výkonu, zvažte C printf a sprintf, které jsou rychlé a snadné použití.Však nejsou extensible nebo ochranu před chybami zabezpečení.(Existují bezpečné verze, nicméně jejich lehké penalizace.Další informace naleznete v tématu printf_s, _printf_s_l, wprintf_s, _wprintf_s_l a sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l).

Následující kód ukazuje některé Boost funkce formátování.

    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

Viz také

Další zdroje

Moderní Příručka programování v jazyce C++

C++ jazyková Reference

Referenční Standardní knihovna C++