Los
manipuladores son constantes y/o métodos que
constituyen una alternativa a los indicadores. Se
pueden introducir en la propia sentencia de entrada o salida. Los
manipuladores pueden tener argumentos o no tenerlos.
Los manipuladores sin argumentos (endl, flush, etc.)
están definidos en iostream.h. Los que tienen
argumentos están declarados en iomanip.h. Un
manipulador sólo afecta al flujo (cin,
cout, etc.) al que se aplica.
El
inconveniente de los manipuladores frente a los indicadores
es que no permiten guardar la configuración anterior
y por tanto volver a ella de una forma general y sencilla.
Los
manipuladores de entrada/salida más utilizados
se citan a continuación:
dec,
hex y oct: establecen base para enteros ws: se saltan los
blancos iniciales
endl: se imprime un \n y se vacía
el buffer de salida
flush: se vacía el buffer de salida
setw(int w): establece la anchura mínima de campo
setprecision(int p): establece el número de cifras
setfill(char ch): establece el carácter de relleno
setiosflag(long i) equivale al indicador setf()
unsetiosflag(long i) equivale a unsetf()
Un
manipulador se utiliza de la forma:
cout
<< hex << 100;
cout << setw(10) << mat[i][j] << endl;
El
efecto de los manipuladores permanece en el
flujo correspondiente hasta que se cambian por otro manipulador,
a excepción de setw() que hay que introducirlo
en el flujo antes de cada dato al que se le quiera aplicar esa anchura
de campo.
|