Está en la página 1de 2

LA FAMILIA PRINTF

Especificadores de formato:
%<indicadores><anchura><precisión><longitud>conversión

Indicadores:
- Justifica a la izquierda el campo
+ Incluirá el signo positivo
Reserva un espacio en blanco para los valores positivos.
# Si representamos un octal incluirá un 0 delante y si es hexadecimal un 0x ó 0X

Anchura:
Número entero decimal que marca la mínima anchura del campo de salida. Si se pone
un *, la anchura se toma del siguiente argumento convertido a entero.

Precisión:
Comienza por un punto que sirve de separación con la anchura.
Enteros Æ Número mínimo de dígitos (completa con ceros)
Reales f Æ Número mínimo de decimales (completa con ceros)
Reales g o G Æ Número máximo de cifras significativas
Caracteres Æ Número máximo de caracteres.
Si se pone un *, la precisión se toma del siguiente argumento convertido a entero.

Conversión:
d ó i Imprime un número entero decimal.
u Imprime un número entero decimal sin signo.
o Imprime un número entero octal sin signo.
x Imprime un número entero hexadecimal sin signo con las letras en minúsculas.
X Imprime un número entero hexadecimal sin signo con las letras en mayúsculas.
c Imprime un carácter.
f Imprime un número en coma flotante con 6 dígitos tras el signo decimal o la
precisión especificada.
e Imprime un número en coma flotante con notación científica, usando 1 dígito
antes del signo decimal y 6 después o la precisión especificada, el indicador de
exponente será una “e” minúscula.
E Imprime un número en coma flotante con notación científica, usando 1 dígito
antes del signo decimal y 6 después o la precisión especificada, el indicador de
exponente será una “E” mayúscula.
g Imprimirá el número como f o e en función del valor.
G Imprimirá el número como f o E en función del valor.
s Imprimirá una cadena de caracteres hasta el terminador 0 (no incluido) o la
precisión indicada.
p Imprime una dirección de memoria generalmente en hexadecimal.
% Dos % imprimen un solo %.
n Almacena en la dirección de memoria asociada el número de caracteres
impresos.

Longitud:
h short
l long
L long double
LA FAMILIA SCANF

Especificadores de formato: %<*><anchura><longitud>conversión>

Indicadores:
* Indica que se efectuará la conversión pero que el resultado se desechará, no se
almacenará. Permite pasar en la entrada al siguiente elemento.

Anchura:
Número entero decimal que indica el máximo de caracteres que se convertirán.

Longitud:
h short int (d i o u x)
l long int (d i o u x) y double (e f g)
L long double (e f g)

Conversión:
d Entero decimal con posible signo.
i Entero octal si comienza por “0” , hexadecimal si lo hace por “0x
ó 0X”, o decimal con posible signo.
u Entero decimal sin signo.
o Entero octal sin signo, con o sin “0” inicial.
x Entero hexadecimal sin signo, con o sin “0x” inicial.
X Entero hexadecimal sin signo, con o sin “0X” inicial.
c Caracteres. Por defecto la anchura es 1.
f Real en coma flotante con signo y exponente opcional.
e Real en coma flotante con signo y exponente opcional.
E Real en coma flotante con signo y exponente opcional.
g Real en coma flotante con signo y exponente opcional.
G Real en coma flotante con signo y exponente opcional.
p Puntero o dirección de memoria en hexadecimal.
s Caracteres no blancos hasta la anchura indicada o hasta el final de
la entrada si se omite, se añade al final “\0” y se suprimen los blancos
iniciales.
n Guarda en el entero apuntado el número de caracteres leídos con éxito
hasta ese punto. No hay lectura de entrada.

[…] Cadena de caracteres que concuerda con los del patrón introducido entre
los corchetes, no suprimes los blancos iniciales y añade el ‘\0’ al final. Si
el primer carácter es ] se incluye en el conjunto. Si el primer carácter es ^
la concordancia se establece con todos los caracteres excepto con los del
patrón.
Caracteres La inclusión de otros caracteres, coma “,”, punto y coma “;”, etc.
generalmente para separar entradas, obligan a que la entrada los
incluya y concuerden exactamente con dichos caracteres. Excepto
blancos.

Blancos Consideraremos como blancos los espacios en blancos, los tabuladores y


las pulsaciones de enter ‘\n’. En general hacen que la función isspace()
devuelva un valor diferente de 0.