estándar::setbase, estándar::setw, estándar::setfill en C++

Los manipuladores de entrada/salida útiles son std::setbase , std::setw y std::setfill . Estos se definen en y son funciones bastante útiles. 
 

  • std::base : Establecer indicador de campo base; Establece el campo base en uno de sus valores posibles: dec, hexadecimal u oct según la base del argumento.
    Sintaxis
std::setbase (int base);
decimal : if base is 10
hexadecimal : if base is 16
octal : if base is 8
zero : if base is any other value.
  • Implementación: este código usa el manipulador std::setbase para establecer hexadecimal como indicador selectivo de campo base.

CPP

// CPP Program to illustrate
// std::setbase manipulator
#include <iostream>
#include <iomanip> // std::setbase
 
int main()
{
    // set base to hexadecimal
    std::cout << std::setbase(16);
 
    // displaying 255 in hexadecimal
    std::cout << 255 << std::endl;
 
    // set base to Octal
    std::cout << std::setbase(8);
 
    // displaying 255 in Octal
    std::cout << 255 << std::endl;
    return 0;
}
  • Producción: 
ff
377
  • std::setw : establece el ancho del campo; Establece el ancho de campo que se utilizará en las operaciones de salida. Se comporta como si se llamara al ancho del miembro con n como argumento en el flujo en el que se inserta/extrae como un manipulador (se puede insertar/extraer en flujos de entrada o flujos de salida). 
    Sintaxis
std::setw (int n);
where n is Number of characters to 
be used as field width.

CPP

// CPP Program to illustrate
// std::setw manipulator
#include <iostream>
#include <iomanip> // std::setw
 
int main()
{
 
    // set width of 10
    std::cout << std::setw(10);
    std::cout << 100 << std::endl;
 
    std::string str = "GFG";
 
    // set width of 12
    std::cout << std::setw(12);
 
    std::cout << str << std::endl;
    return 0;
}
  • Producción: 
       100
         GFG
  • Nota: aquí el argumento dado a setw() es el ancho mínimo de la salida, por lo que si tenemos una salida con más ancho que el valor del argumento, el ancho de salida no será exactamente el argumento dado a setw() pero será igual al tamaño de salida ( es decir, la salida no se truncará). El ancho predeterminado de setw() es 0.
    Ejemplo: 

CPP

#include <iostream>
#include<iomanip>
#include<string>
using std::cout;
using std::string;
using std::endl;
 
int main() {
    string temp="Hello setw";
    cout<<std::setw(5)<<temp<<endl;
    return 0;
}
  • Producción: 
Hello setw
  • std::setfill : Establecer carácter de relleno; Establece c como el carácter de relleno de la transmisión. Se comporta como si se llamara al relleno de miembro con c como argumento en el flujo en el que se inserta como manipulador (se puede insertar en flujos de salida).
    Sintaxis
std::setfill (char_type c);
char_type is the type of characters 
used by the stream (i.e., its first class template 
parameter, charT).
  • Implementación

CPP

// CPP Program to test std::setfill manipulator
#include <iostream>
#include <iomanip> // std::setfill, std::setw
 
int main()
{
    // setfill is x and width is set as 10
    std::cout << std::setfill('x') << std::setw(10);
 
    std::cout << 77 << std::endl;
 
    std::string str = "Geeks";
 
    // setfill is G and width is set as 10
    // And std::left is used set str to left side
    std::cout << std::left << std::setfill('G') << std::setw(10);
 
    std::cout << str << std::endl;
    return 0;
}
  • Producción: 
xxxxxxxx77
GeeksGGGGG

Patrón usando std::setw y std::fill

CPP

// CPP Program to print
// pattern using std::setw and std::fill
#include <iostream>
#include <iomanip> // std::setfill, std::setw
 
int main()
{
    int n = 5;
    for (int i = 1; i <= n; i++) {
        std::cout << std::left << std::setfill(' ') << std::setw(n);
        std::cout << std::string(i, '*') << std::endl;
    }
}

Producción: 

*
**
***
****
*****

Este artículo es una contribución de Shubham Rana . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *