Compartir a través de


Cadena y formato de E/S (Modern C++)

Iostreams de C++ son incómodos utilizar para E/S con formato de la cadena.Como alternativa, puede utilizar Boost.Format de las bibliotecas de Boost C++, aunque no es estándar.Puede descargar cualquier biblioteca Mejora de Boost del sitio Web.

Algunas ventajas de Boost.Format son:

  • Seguros: Tipo- seguro, y produce una excepción para error- para el ejemplo, la especificación de insuficientes o demasiados elementos.

  • Extensible: Funciona para cualquier tipo que pueda ser fluidas.

  • Adecuado: POSIX estándar y cadenas de formato similares.

Aunque Boost.Format compilado en C++ iostreams, que son segura y extensible, se rendimiento- no se optimizan.Cuando se requiere la optimización del rendimiento, considere C printf y sprintf, que son rápidos y fáciles de usar.Sin embargo, no son extensibles o seguros de vulnerabilidades.(Las versiones seguras existen, pero incurren en una ligera disminución del rendimiento.Para obtener más información, vea printf_s, _printf_s_l, wprintf_s, _wprintf_s_l y sprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l).

El código siguiente muestra algunas de las características de formato de 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

Vea también

Otros recursos

Bienvenido a C++ (C++ moderno)

Referencia del lenguaje C++

Referencia de la biblioteca estándar de C++