Què són els especificadors de format en C?

Que Son Els Especificadors De Format En C



En programació en C, especificadors de format tenen un paper important en la gestió de les dades. Determinen el format i la mida de les dades a sortir o llegir des del dispositiu d'entrada/sortida. Entendre el format personalitzat és un tema important a la programació C, ja que s'utilitza àmpliament com a sortida de funcions.

En aquest article, tractarem els conceptes bàsics, la sintaxi i els exemples d'ús especificadors de format en C Programació .

Especificadors de format en C

El especificadors de format s'utilitzen per especificar el format de la cadena de sortida, que després s'imprimeix a la consola mitjançant l' printf() funció i també es poden utilitzar en el scanf() funció per rebre l'entrada de l'usuari. Fem servir el símbol % amb cada especificador de format. El llenguatge C ofereix diferents especificadors de format per a cada tipus de dades. Alguns dels especificadors de format que podeu utilitzar als vostres programes C s'esmenten a la taula següent:







Tipus de dades Especificador de format
Enter Enter cantat %d
Enter sense signe %i
Enter curt signat %hola
Enter curt sense signe %hu
doble doble %lf
doble llarg %Lf
personatge %c
llarg llarg %I
llarg sense signar %lu
Molt llarg sense signar %llu
llarg llarg %lli o %lld
corda %s
No imprimeix res %n
Punts flotants de les notacions científiques %e o %E
Imprimeix punters %p
%O Representació octogonal
%x Representació hexadecimal

Mitjançant els especificadors de format esmentats anteriorment al funció printf(). , podeu recuperar les dades emmagatzemades en ell.



Aquí teniu alguns exemples senzills d'ús especificadors de format per a diferents tipus de dades en C:



1: nombres enters

#inclou

int principal ( ) {

int en una = 10 ;

imprimirf ( 'Enter signat: %d \n ' , en una ) ;

imprimirf ( 'Enter sense signe: %u \n ' , en una ) ;

imprimirf ( 'Enter curt signat: %hi \n ' , ( curt ) en una ) ;

imprimirf ( 'Enter curt sense signar: %hu \n ' , ( sense signar curt ) en una ) ;

tornar 0 ;

}





2: Doble

#inclou

int principal ( ) {

doble en una = 10.5 ;

imprimirf ( 'Doble: %lf \n ' , en una ) ;

imprimirf ( 'Doble llarg: %Lf \n ' , ( llarg doble ) en una ) ;

tornar 0 ;

}

3: Personatge

#inclou

int principal ( ) {

char cap = 'a' ;

imprimirf ( 'Caràcter: %c \n ' , cap ) ;

tornar 0 ;

}



4: llarg

#inclou

int principal ( ) {

llarg en una = 100000 ;

imprimirf ( 'Llarg: %ld \n ' , en una ) ;

imprimirf ( 'Llarg sense signar: %lu \n ' , ( sense signar llarg ) en una ) ;

imprimirf ( 'Llarg llarg: %lld \n ' , ( llarg llarg ) en una ) ;

imprimirf ( 'Llarg llarg sense signar: %llu \n ' , ( sense signar llarg llarg ) en una ) ;

tornar 0 ;

}

5: Corda

#inclou

int principal ( ) {

char str [ ] = 'Hola món!' ;

imprimirf ( 'Cordes \n ' , str ) ;

tornar 0 ;

}

6: Diversos

#inclou

int principal ( ) {

doble en una = 123.45 ;

imprimirf ( 'Coma flotant de notacions científiques: %e \n ' , en una ) ;

imprimirf ( 'Imprimeix punters: %p \n ' , & en una ) ;

imprimirf ( 'Representació octogonal: %o \n ' , 15 ) ;

imprimirf ( 'Representació decimal hexa: %x \n ' , 15 ) ;

imprimirf ( 'Imprimeix %% caràcter: %% \n ' ) ;

tornar 0 ;

}

Format amb especificadors de format

Algunes eines en C es poden utilitzar per formatar la sortida, generalment s'insereixen entre els % signe i el símbol de l'especificador de format. Hem esmentat algunes de les eines de format a continuació:

  • El període (.) El signe separa l'amplada del camp amb precisió.
  • El menys (-) El signe indica l'alineació esquerra.
  • El nombre després de la % signe especifica l'amplada mínima del camp que s'ha d'imprimir.

Exemple

Al codi d'exemple següent, hem utilitzat les eines de format amb els especificadors de format:

#inclou

int principal ( )

{

char str [ ] = 'Linux' ;

imprimirf ( '% 30s \n ' , str ) ;

imprimirf ( '% -30s \n ' , str ) ;

imprimirf ( '% 10,5 s \n ' , str ) ;

imprimirf ( '% -20,5 s \n ' , str ) ;

tornar 0 ;

}

En el codi anterior %30s especifica que la cadena s'ha d'imprimir en un camp amb una amplada mínima de 30 caràcters. % -30s indica imprimir la cadena en un camp d'un mínim de 30 caràcters però s'ha de deixar alineat. El mateix passa per 10,5 $ i % -20,5 s.

Linia inferior

El especificadors de format s'utilitzen en funcions de format d'entrada i sortida, incloses printf() funcions. El especificadors de format determineu el format de la cadena de sortida i s'utilitzen amb el % personatge. Quan el valor s'emmagatzema a la variable, no podeu mostrar la sortida directament a la consola sense utilitzar els especificadors de format. Hem parlat de diferents tipus especificadors de format amb el codi d'exemple a la secció anterior de la guia.