std::left, std::right, std::internal
De cppreference.com
| Definido en el archivo de encabezado <ios>
|
||
std::ios_base& left( std::ios_base& str );
|
(1) | |
std::ios_base& right( std::ios_base& str );
|
(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.
Parámetros
| str | - | Referencia al flujo de E/S. |
Valor de retorno
str (Referencia al flujo después de la manipulación).
Ejemplo
Ejecuta este código
#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
Véase también
| Cambia el ancho del siguiente campo de entrada/salida. (función) | |
| Cambia el carácter de relleno. (plantilla de función) | |
| Controla si se utiliza prefijo para indicar base numérica. (función) |