|
|
|
|
|
|
CarlosPes.com
> Curso
de Lenguaje C
> Secuencias de Escape en la Función
printf del Lenguaje C |
|
Secuencias de Escape en
la Función printf del
Lenguaje C
|
|
|
|
|
¿Cómo
utilizar las secuencias de escape en la función printf de
C?
|
|
Una
secuencia de escape
siempre representa a un carácter del ASCII. Dichos caracteres se pueden
clasificar en:
- Gráficos
(se corresponden con los símbolos
más usados para escribir por los humanos).
- No
gráficos (representan a acciones, como por ejemplo, mover
el cursor de la pantalla al principio de la línea siguiente).
La
forma más sencilla de escribir una secuencia de escape es
con el carácter barra invertida (\), seguido de un
carácter especial. Por tanto, cuando en la cadena de control
de la función printf se escriba una secuencia de escape, o
bien se mostrará un carácter gráfico
por pantalla, o bien se realizará una acción. Por
ahora, no es necesario conocer todas las secuencias de escape que
existen en lenguaje C, pero sí, algunas de las
más utilizadas: |
|
|
|
Figura
- Secuencias de enlace más utilizadas en la
función printf. |
|
En
general, cuando se diseña el algoritmo de un programa, el
programador no se preocupa del lugar exacto de la pantalla en donde van
a aparecer los datos de salida del programa, ya que, este aspecto suele
concretarse en la codificación.
En Windows, la patanlla (de la consola) está compuesta por
25 filas (líneas) y 80 columnas, es decir, en pantalla se
pueden visualizar 2000 caracteres a la vez (25*80).
Normalmente, al ejecutar un programa escrito en lenguaje C, el cursor
se posiciona (por defecto) en la primera columna de la primera fila. |
|
|
|
A
partir de esa posición, se mostrarán por pantalla
los datos de salida de dicho programa.
Ejemplo 1: Si se escribe |
|
#include <stdio.h>
int main()
{
printf( "uno dos tres" );
return 0;
} |
|
|
Tal
cual está escrita la función printf, por pantalla
se verá el texto "uno dos tres" pegado a la esquina superior
izquierda de la misma. |
|
|
|
Hasta
ahora, no nos hemos preocupado del lugar exacto de la pantalla donde
queremos que se muestren los datos de salida. Sin embargo, si deseamos
visualizar dicho texto en otro lugar de la pantalla, por ejemplo, en la
segunda línea: |
|
|
|
Esto
se puede conseguir haciendo uso de la secuencia de escape nueva
línea (\n).
printf( "\nuno dos tres" );
Partiendo de que, inicialmente, el cursor se encuentre en la primera
columna de la primera fila, es decir, en la esquina superior izquierda
de la pantalla, la secuencia de escape nueva línea (\n) lo
moverá al principio de la segunda fila y, a
continuación, se escribirá el texto "uno dos tres". Obsérvese que, los
caracteres que forman la secuencia
de escape, (\) y (n), no aparecen en pantalla.
La instrucción anterior hace lo mismo que las dos siguientes
printf( "\n" );
printf( "uno dos tres" );
Ejemplo 2: Si por pantalla se quiere ver |
|
|
|
hay
que escribir
printf( "uno\ndos\ntres" );
El proceso de ejecución de esta instrucción es el
siguiente: justo en la esquina superior izquierda de la pantalla
(primera línea) se muestra el texto "uno".
Después, una secuencia de escape nueva línea (\n)
mueve el cursor al principio de la línea siguiente (segunda
línea), en donde se visualiza el texto "dos".
Posteriormente, otra secuencia de escape nueva línea (\n)
vuelve a mover el cursor al principio de la línea siguiente
(tercera línea) y, finalmente, se muestra el texto "tres".
La instrucción anterior es equivalente a:
printf( "uno" );
printf( "\ndos" );
printf( "\ntres" );
Igualmente, se podría escribir
printf( "uno\n" );
printf( "dos\n" );
printf( "tres" );
Ejemplo 3: Para visualizar |
|
|
|
se
puede escribir
printf( "\n uno
dos tres" );
Ejemplo 4: Y para mostrar |
|
|
|
escribiremos,
por ejemplo,
printf( "\n
uno\n dos\n tres" );
La secuencia de escape tabulador horizontal (\t) mueve el cursor a la
posición siguiente del tabulador horizontal de la pantalla.
Entre cada posición hay ocho caracteres, por tanto, dichas
posiciones están en las columnas 1, 9, 17, 25, 33, 41, 49,
57, 65 y 73.
Ejemplo 5: De la instrucción
printf( "diez\tveinte\ttreinta" );
se obtiene por pantalla |
|
|
|
Obsérvese
que, la d (de diez), la v (de veinte) y la primera t (de treinta)
están en las posiciones del tabulador horizontal 1, 9 y 17,
respectivamente. Gráficamente, representando los espacios en
blanco mediante guiones (-), en pantalla se muestra: |
|
|
|
Entre
el carácter d (de diez) y la v (de veinte) hay exactamente
ocho caracteres (la v no se cuenta), al igual que entre la v (de veinte) y la primera t (de treinta).
Las secuencias de escape comilla doble (\") y barra invertida
(\\)
sirven para mostrar por la pantalla los caracteres comilla doble (") y
barra invertida (\), respectivamente.
Ejemplo 6: Al escribir
printf( "\n\t\t7 de julio \"San
Fermin\"" );
en la segunda línea de la pantalla se mostrará, a
partir de la tercera posición del tabulador horizontal
(columna 17), el mensaje: "7
de julio "San Fermin"" |
|
|
|
|
|
|
|
|
|
|