Espacios de nombres
Variantes
Acciones

std::left, std::right, std::internal

De cppreference.com
< cpp‎ | io‎ | manip
 
 
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)
 
Manipuladores de E/S
Formateo de punto flotante
Formateo de enteros
Formateo de booleanos
Control de ancho de campo y relleno
internalleftright
Otro formateo
Procesamiento de espacio en blanco
Vaciado de salida
(C++20)  

Manipulación de indicadores de estado
E/S de tiempo y dinero
(C++11)
(C++11)
(C++11)
(C++11)
Manipulación entre comillas
(C++14)
 
Definido en el archivo de encabezado <ios>
(1)
(2)
std::ios_base& internal( std::ios_base& str );
(3)

Modifica la posición de los caracteres de relleno en un flujo de salida. left y right se aplican a cualquier tipo que se esté emitiendo, internal se aplica a la salida de números enteros, de punto flotante y monetarios. No tiene efecto en la entrada.

1) Establece el campo de ajuste, adjustfield, del flujo str en left como si se llamara a str.setf(std::ios_base::left, std::ios_base::adjustfield).
2) Establece el campo de ajuste, adjustfield, del flujo str en right como si se llamara a str.setf(std::ios_base::right, std::ios_base::adjustfield).
3) Establece el campo de ajuste, adjustfield, del flujo str en internal como si se llamara a str.setf(std::ios_base::internal, std::ios_base::adjustfield).

El valor inicial por defecto para los flujos estándar es equivalente a right.

Este es un manipulador de E/S. Se lo puede llamar con una expresión como out << std::left para cualquier out del tipo std::basic_ostream o con una expresión como in >> std::left para cualquier in del tipo std::basic_istream.

Contenido

[editar] Parámetros

str - Referencia al flujo de E/S.

[editar] Valor de retorno

str (Referencia al flujo después de la manipulación).

[editar] Ejemplo

#include <iomanip>
#include <iostream>
#include <locale>
 
int main()
{
    std::cout.imbue(std::locale("en_US.utf8"));
 
    std::cout << "Posicionamiento por defecto:\n" << std::setfill('*')
              << std::setw(12) << -1.23  << '\n'
              << std::setw(12) << std::hex << std::showbase << 42 << '\n'
              << std::setw(12) << std::put_money(123, true) << "\n\n";
 
    std::cout << "Posicionamiento a la izquierda:\n" << std::left
              << std::setw(12) << -1.23  << '\n'
              << std::setw(12) << 42 << '\n'
              << std::setw(12) << std::put_money(123, true) << "\n\n";
 
    std::cout << "Posicionamiento interno:\n" << std::internal
              << std::setw(12) << -1.23  << '\n'
              << std::setw(12) << 42 << '\n'
              << std::setw(12) << std::put_money(123, true) << "\n\n";
 
    std::cout << "Posicionamiento a la derecha:\n" << std::right
              << std::setw(12) << -1.23  << '\n'
              << std::setw(12) << 42 << '\n'
              << std::setw(12) << std::put_money(123, true) << '\n';
}

Salida:

Posicionamiento por defecto:
*******-1.23
********0x2a
***USD *1.23
 
Posicionamiento a la izquierda:
-1.23*******
0x2a********
USD *1.23***
 
Posicionamiento interno:
-*******1.23
0x********2a
USD ****1.23
 
Posicionamiento a la derecha:
*******-1.23
********0x2a
***USD *1.23

[editar] Véase también

Cambia el ancho del siguiente campo de entrada/salida.
(función) [editar]
Cambia el carácter de relleno.
(plantilla de función) [editar]
Controla si se utiliza prefijo para indicar base numérica.
(función) [editar]