0% encontró este documento útil (0 votos)
220 vistas4 páginas

Modificadores de printf() en C

Este documento describe los modificadores de formato que se pueden usar con la función printf en C. printf produce salida formateada de acuerdo a una cadena de formato que especifica cómo convertir y mostrar los argumentos. Los modificadores incluyen flags como -, + y espacio para alineación, anchos de campo, precisiones y especificadores de tamaño como h, l, L para diferentes tipos de datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
220 vistas4 páginas

Modificadores de printf() en C

Este documento describe los modificadores de formato que se pueden usar con la función printf en C. printf produce salida formateada de acuerdo a una cadena de formato que especifica cómo convertir y mostrar los argumentos. Los modificadores incluyen flags como -, + y espacio para alineación, anchos de campo, precisiones y especificadores de tamaño como h, l, L para diferentes tipos de datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Modificadores de especificadores de conversión de printf()

Printf: conversión de salida formateada. Produce una salida de acuerdo al formato


indicado. Su sintaxis es:
int printf(const char *format, ...);

int printf (cadena de control, lista de argumentos);

DESCRIPCIÓN
Printf escribe la salida bajo el control de una cadena format que especifica
cómo los argumentos posteriores son convertidos para su salida. Esta función escribe su
salida a stdout, el flujo de salida estándar (existe también fprintf, la cual escribe
su salida al stream de salida especificado, que puede ser un archivo o incluso la
salida estándar).

Valor devuelto
En caso de éxito, estas funciones devuelven el número de caracteres impresos
(no incluyendo el carácter `\0' usado para terminar la salida de cadenas). Si se
encuentra un error de salida, se devuelve un valor negativo.

int v;
v=printf("Hola mundo\n");
printf("v=%d\n", v); //v=11

La cadena de formato es una cadena normal que contiene una serie de conversiones de formato; cada una de
ellas comienza con el carácter % y describe el formato que debe aplicarse al argumento correspondiente. La
primera conversión de la cadena de formato se corresponde con el segundo argumento, la segunda conversión
con el tercer argumento, y así sucesivamente. Todo el texto que se encuentra entre una conversión y otra se
imprime de forma literal. El carácter que se incluye después del carácter de conversión % describe el formato
que se utilizará para el argumento correspondiente.

Conversion Character Displays


%% The percent character, %
%c Single character (char) value
%d Integer (int, short int, long int) value
%e Floating-point (float or double) value in scientific notation with a little E
%E Floating-point (float or double) value in scientific notation with a big E
%f Floating-point (float or double) value in decimal notation
%g Either %f or %e is used, depending on which is shorter
%G Either %F or %E is used, depending on which is shorter
%i Integer (int, short int, long int) value
%o Unsigned octal value (no leading 0)
%p Memory location or address in hexadecimal (pointer)
%s String constant or variable (char *)
%u Unsigned integer (unsigned int, unsigned short int, unsigned long int) value
%x Unsigned hexadecimal value, lowercase a–f, no leading 0 or x
%X Unsigned hexadecimal value, uppercase A–F, no leading 0 or X
Ejemplos:

v=40700;
printf("v=%d =%i =%7d =%07d\n",v,v,v,v);
printf("%d dec, = %x =%X hex, =%o octal\n",v, v, v, v);
v=0x1a;
printf("%d dec, = %x =%X hex, =%o octal\n",v, v, v, v);
printf("Cadena=%s, numero=%d\n","Hola mundo",24);
char cad[]="Fac. Ing. Electrica";
printf("%s\n",cad);

Flag o
Significa
Modificador
El elemento está alineado a la izquierda;
- es decir, se imprime a la izquierda del campo.
Ejemplo: "%-20s"
Los valores con signo se visualizan con un signo más, si es positivo,
+ y con un signo menos, si es negativo.
Ejempĺo: "%+6.2f"
Los valores con signo se visualizan con un espacio inicial (pero ninguna señal) si es
positivo
espacio
y con un signo menos si es negativo. Un flag + tiene precedencia sobre un espacio
Ejemplo: "% 6.2f"
Use un método alternativo para la especificación de conversión.
Produce un 0 inicial para el "%o" y un 0x o 0X inicial para el "%x" o "%X",
respectivamente.
Para todas las formas de float, # garantías de que un carácter de punto decimal se
#
imprime,
incluso si no hay digitos que siguen.
Para "%g" y "%G", se evita ceros a la derecha de ser eliminados.
Ejemplos: "%#o", "%#8.0f", y "%+#10.3E"
Para las formas numéricas, rellenar el ancho del campo con ceros a la izquierda en vez
de con espacios.
0
Este flag se ignora si un - flag está presente o si se especifica una precisión de un entero.
Ejemplos: %010d" y "%08.3f"
Ancho minimo del campo. Un campo más amplio se utiliza si el número impreso o
digitos cadena no entra en el campo.
Ejemplos: %10d"
Precisión para "%e", "%E" y "%f" significa el número de dígitos a imprimir a la
derecha del punto decimal.
Para "%g" y "%G" significa el maximo de dígitos.
Para "%s" significa el máximo número de caracteres a imprimir.
.digitos
Para conversiones de enteros, significa el número mínimo de dígitos que aparece. Se usa
cualquier número de '0' a la izquierda de el valor para llenar el campo
El uso de un punto sin número implica .0, "%.f" es el mismo que "%.0f"
Ejemplos: %5.2f"
Usa con modificadores para indicar short int o short unsigned int
h
Ejemplos: "%hu", "%hx", y "%6.4hd"
Usa con modificadores para indicar signed char o unsigned char
hh
Ejemplos: "%hhu", "%hhx", y "%6.4hhd"
Usa con modificadores de enteros para indicar intmax_t or uintmax_t valores.
j
Ejemplos: "%jd" y "%8jX"
Usa con modificadores de enteros para indicar long o unsigned long int.
l
Ejemplos: "%ld" y "%8lu"
Usa con modificadores de enteros para indicar long long o unsigned long long int.
ll
Ejemplos: "%lld" y "%8llu"
Usa con modificadores de float para indicar long double o unsigned long long int.
L
Ejemplos: "%Lf" y "%10.4Le"
Usa con modificadores de ints para indicar ptrdiff_t value que es la diferencia de dos
t pointers
Ejemplos: "%td" y "%12ti"
Usa con modificadores de ints para indicar size_t value que se usa con sizeof
z
Ejemplos: "%zd" y "%12zx"

Secuencias de escape: Las secuencias de caracteres en las que el primero es la barra invertida (\), se
denominaron secuencias de escape y aunque originariamente se utilizaron para la representación de los
caracteres de control, por extensión pueden representarse de este modo todos los códigos ASCII. Además se
dispone de algunos símbolos predefinidos para los caracteres más frecuentes. Por ejemplo, \n se utiliza para
representar el carácter nueva línea (decimal 10). 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. Algunas de las secuencias de escape más utilizadas son:

Secuencia Valor Símbolo Descripción


\b 0x08 BS Retroceso (backspace)
\f 0x0C FF Salto de formato (formfeed)
\n 0x0A LF Saltar una línea (linefeed)
\r 0x0D CR Retorno de carro (carriage return)
\t 0x09 HT Tabulación horizontal (H Tab)
\v 0x0B VT Tabulación vertical (V Tab)
\\ 0x5c \ Barra invertida (backslash)
\' 0x27 ' Apóstrofo (comilla simple)
\" 0x22 " Doble comilla
\? 0x3F ? Interrogación
\O cualquiera cualquiera O = cadena de hasta tres dígitos octales
\xH cualquiera cualquiera H = cadena de dígitos hexadecimales
\XH cualquiera cualquiera H = cadena de dígitos hexadecimales
Valor Secuencia
\n Nueva línea (new line). El cursor pasa a la primera posición de la línea siguiente
\r Retorno de carro (carriage return). El cursor pasa a la primera posición de la línea
donde nos encontremos.
\t Tabulador. El cursor pasa a la siguiente posición de tabulación.
\a Alerta. Crea un aviso bien de forma visible o bien mediante sonido.
\b Espacio atrás (backspace). Hace retroceder el cursor una posición a la izquierda.
\f Alimentación de página (form feed). Crea una nueva página.
\\ Muestra la barra invertida.
\” Muestra la comilla doble.
\número_octal Muestra el carácter ASCII correspondiente según el número octal que se haya
especificado.
\x número_hexadecimal
Muestra el carácter ASCII correspondiente según el número hexadecimal que se haya
especificado.
\v Tabulación vertical.
\' Apóstrofo o comilla simple.

También podría gustarte