Estados de formato de flujos y manipuladores de flujos.
Enviado por Jillian • 16 de Diciembre de 2017 • 1.030 Palabras (5 Páginas) • 471 Visitas
...
Relleno de caracteres (fill, setfill)
La función miembro fill especifica el carácter de relleno que se debe utilizar con los campos justificados; si no se especifica un valor, se utilizan espacios para rellenar. La función fill devuelve el carácter de relleno anterior. El manipulador setfill también establece el carácter de relleno.
1 // Fig. 15.15: Fig15_15.cpp
2 // Impresión de un entero con espaciamiento interno y un signo positivo.
3 #include
4 using std::cout;
5 using std::endl;
6 using std::internal;
7 using std::showpos;
8
9 #include
10 using std::setw;
11
12 int main()
13 {
14 // muestra el valor con espaciamiento interno y signo positivo
15 cout
16 return 0;
17 } // fin de main
+ 123
Uso de la función miembro fill y el manipulador de flujo setfill para cambiar
el carácter de relleno para campos más grandes que el valor impreso.
3 #include
4 using std::cout;
5 using std::dec;
6 using std::endl;
7 using std::hex;
8 using std::internal;
9 using std::left;
10 using std::right;
11 using std::showbase;
12
13 #include
14 using std::setfill;
15 using std::setw;
16
17 int main()
18 {
19 int x = 10000;
20
21 // muestra x
22 cout
23
24
25
26 // muestra x con la base
27 cout
28
29 // muestra x con justificación a la izquierda
30 cout
31
32 // muestra x como hex con justificación interna
33 cout
34
35 cout
36
37 // muestra x usando caracteres de relleno (justificación a la derecha)
38 cout
39 cout.fill( '*' );
40 cout
41
42 // muestra x usando caracteres de relleno (justificación a la izquierda)
43 cout
44
45 // muestra x usando caracteres de relleno (justificación interna)
46 cout
47
48 return 0;
49 } // fin de main
1000 impreso como int justificado a la derecha y a la izquierda
y como hex con justificación interna
Usd del carácter de relleno predeterminado (espacio):
1000
100
Conclusiones
- Un valor mas ancho que la anchura designada no se truncara; se imprimirá el número completo. La función Width sin argumento devuelve la configuración actual.
Al introducir datos en un arreglo Char, se leerá un máximo de caracteres igual a uno menos la anchura, ya que se toma en cuenta el caracter nulo que se va a colocar en la cadena de entrada. Recuerde que la extracción de flujo termina al encontrar espacio en blanco a la derecha. El manipulador de flujo setw también se puede usar para establecer la anchura de los campos.
- El manipulador de flujo internal indica que el signo de un número (o la base cuando se utiliza el manipulador de flujo showbase) debe justificarse a la izquierda dentro de un campo, que la magnitud del número se debe justificar a la derecha y que los espacios intermedios deben rellenarse con el caracter de relleno.
...