Espacios de nombres
Variantes
Acciones

vprint_unicode(std::ostream)

De cppreference.com
< cpp‎ | io‎ | basic ostream
 
 
Biblioteca de E/S
Manipuladores de E/S
E/S estilo C
Búferes
(en desuso en C++98)
Flujos
Abstracciones
E/S de archivos
E/S de cadenas
E/S de arrays
(en desuso en C++98)
(en desuso en C++98)
(en desuso en C++98)
Salida sincronizada
Tipos
Interfaz de categoría de error
(C++11)
 
 
Definido en el archivo de encabezado <ostream>
void vprint_unicode( std::ostream& os, std::string_view fmt, std::format_args args );
(desde C++23)

Se comporta como FormattedOutputFunction (excepto que algunos detalles de reporte de errores difieren):

  • Primero, la función construye y valida el objeto sentry.
  • Luego, inicializa una variable automática, como por std::string out = std::vformat(os.getloc(), fmt, args);.
  • Finalmente, inserta el caracter de secuencia [out.begin(), out.end()) en os, esto es, si os se refiere a un terminal capaz de mostrar Unicode, escribe out a su terminial usando la API nativa de Unicode. De lo contrario, escribe el out sin modificaciones al os.

Contenido

[editar] Parámetros

os - Flujo de salida al cual insertarle datos
fmt - Un objeto que representa la cadena de formato. La cadena de formato consiste en:
  • caracteres ordinarios (excepto { y }), que se copian sin cambiarse a la salida,
  • secuencias de escape {{ y }}, que se reemplazan con { y }, respectivamente en la salida, y
  • campos de reemplazo.

Cada campo de reemplazo tiene el siguiente formato:

  • un carácter { introductorio;
  • (opcional) arg-id, un número no negativo;
  • (opcional) dos puntos (:) seguido de una especificación de formato;
  • un carácter } final.

arg-id especifica el índice del argumento en args cuyo valor se usará para formatear; si se omite arg-id, los argumentos se usan en orden. Los arg-ids en una cadena de formato tienen que estar presentes o todos deben de omitirse. Mezclar la indexación manual y automática es un error.

La especificación de formato se define por la especialización de std::formatter del argumento correspondiente.

(desde C++23)
(desde C++26)
  • Para los otros tipos formateables, la especificación de formato se determina por especializaciones de formatter definidas por el usuario.
args - Argumentos a ser formateados

[editar] Valor de retorno

(ninguno)

[editar] Excepciones

  • std::bad_alloc en errores de asignación.
  • Propaga cualquier excepción lanzada por cualquier formatter, p.e. std::format_error, sin importar el valor de os.exceptions() y sin activar ios_base::badbit en el estado de error de os.
  • Puede lanzar ios_base::failure causada por os.setstate(ios_base::badbit) el cual es llamado si una inserción a os falla.

[editar] Notas

Si la invocación de la API nativa de Unicode requiere transcodificación, las unidades de código inválidas son sustituidas por el CARACTER DE REEMPLAZO U+FFFD (véase "The Unicode Standard Version 14.0 - Core Specification", Chapter 3.9).

Macro de prueba de característica Valor Estándar Comentario
__cpp_lib_print 202207L (C++23) Salida formateada
__cpp_lib_format 202207L (C++23) Exponiendo std::basic_format_string

[editar] Ejemplo

[editar] Véase también

Genera la representación formateada de los argumentos
(plantilla de función) [editar]
inserciones de datos caracter
(función) [editar]
Imprime a un stdout compatible con Unicode, o a un flujo de archivo usando la representación de argumentos de tipo borrado
(función) [editar]
(C++20)
Almacena una representación formateada de los argumentos en una cadena nueva.
(plantilla de función) [editar]

[editar] Enlaces externos

1.  Unicode
2.  The Unicode Standard Version 14.0 - Core Specification