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