Ebben a cikkben az alapokat, a szintaxist és a használati példákat ismertetjük formátum-specifikációk C-ben Programozás .
Formátumspecifikációk C-ben
A formátum-specifikációk a kimeneti karakterlánc formátumának megadására szolgálnak, amely azután kinyomtatásra kerül a konzolon a printf() funkciót, és a scanf() funkciót a felhasználótól érkező adatok fogadására. Használjuk a % szimbólum minden formátumspecifikátorral. A C nyelv mást nyújt formátum-specifikációk minden adattípushoz. Néhány formátum-specifikációk A C programjaiban használhatók az alábbi táblázatban találhatók:
Adattípus | Formátummeghatározó | |
Egész szám | Elénekelt egész szám | %d |
Előjel nélküli egész szám | %én | |
Előjeles rövid egész szám | %Szia | |
Előjel nélküli rövid egész szám | %HU | |
kettős | kettős | %lf |
hosszú dupla | %Lf | |
karakter | %c | |
hosszú | hosszú | %ÉN |
Aláírás nélküli hosszú | %lu | |
Aláírás nélküli hosszú hosszú | %llu | |
hosszú hosszú | %lli vagy %lld | |
húr | %s | |
Nem nyomtat semmit | %n | |
Tudományos jelölések lebegőpontjai | %e vagy %E | |
Mutatókat nyomtat | %p | |
%O | Nyolcszögű ábrázolás | |
%x | Hexa decimális ábrázolás |
A fent említett formátumspecifikációkon keresztül a printf() függvény , visszakeresheti a benne tárolt adatokat.
Íme néhány egyszerű példa a használatára formátum-specifikációk különböző adattípusokhoz C-ben:
1: Egész számok
#includeint fő- ( ) {
int az egyiken = 10 ;
printf ( 'Előjeles egész szám: %d \n ' , az egyiken ) ;
printf ( 'Előjel nélküli egész szám: %u \n ' , az egyiken ) ;
printf ( 'Jelű rövid egész szám: %szia \n ' , ( rövid ) az egyiken ) ;
printf ( 'Előjel nélküli rövid egész szám: %hu \n ' , ( aláírás nélküli rövid ) az egyiken ) ;
Visszatérés 0 ;
}
2: Dupla
#includeint fő- ( ) {
kettős az egyiken = 10.5 ;
printf ( 'Dupla: %lf \n ' , az egyiken ) ;
printf ( 'Hosszú Double: %Lf \n ' , ( hosszú kettős ) az egyiken ) ;
Visszatérés 0 ;
}
3: Karakter
#includeint fő- ( ) {
char ch = 'a' ;
printf ( 'Karakter: %c \n ' , ch ) ;
Visszatérés 0 ;
}
4: hosszú
#includeint fő- ( ) {
hosszú az egyiken = 100 000 ;
printf ( 'Hosszú: %ld \n ' , az egyiken ) ;
printf ( 'Aláírás nélküli hosszú: %lu \n ' , ( aláírás nélküli hosszú ) az egyiken ) ;
printf ( 'Hosszú Hosszú: %lld \n ' , ( hosszú hosszú ) az egyiken ) ;
printf ( 'Unsigned Long Long: %llu \n ' , ( aláírás nélküli hosszú hosszú ) az egyiken ) ;
Visszatérés 0 ;
}
5: Húr
#includeint fő- ( ) {
char str [ ] = 'Helló Világ!' ;
printf ( 'Karakterlánc: %s \n ' , str ) ;
Visszatérés 0 ;
}
6: Vegyes
#includeint fő- ( ) {
kettős az egyiken = 123,45 ;
printf ( 'Tudományos jelölések lebegőpontjai: %e \n ' , az egyiken ) ;
printf ( 'Mutatókat nyomtat: %p \n ' , & az egyiken ) ;
printf ( 'Nyolcszögű ábrázolás: %o \n ' , tizenöt ) ;
printf ( 'Hexa decimális ábrázolás: %x \n ' , tizenöt ) ;
printf ( '%% karaktert nyomtat: %% \n ' ) ;
Visszatérés 0 ;
}
Formázás formátumspecifikátorokkal
Egyes C-beli eszközök használhatók a kimenet formázására, általában a fájlok közé kerülnek beillesztésre % jel és a formátummeghatározó szimbólum. Az alábbiakban megemlítettünk néhány formázási eszközt:
- A időszak (.) jel pontosan elválasztja a mező szélességét.
- A mínusz (-) jel jelzi a bal oldali igazítást.
- A szám azután % előjel megadja a nyomtatandó minimális mezőszélességet.
Példa
Az alábbi példakódban a formázási eszközöket használtuk a formátum-specifikációkkal:
#includeint fő- ( )
{
char str [ ] = 'Linux' ;
printf ( '%30s \n ' , str ) ;
printf ( '%-30s \n ' , str ) ;
printf ( '%10.5s \n ' , str ) ;
printf ( '%-20,5 s \n ' , str ) ;
Visszatérés 0 ;
}
A fenti kódban %30s meghatározza, hogy a karakterláncot egy legalább 30 karakter szélességű mezőbe kell nyomtatni. %-30s azt jelzi, hogy a karakterláncot legalább 30 karakteres mezőbe kell nyomtatni, de azt balra kell igazítani. Ugyanez a helyzet a 10,5 dollár és %-20,5 s.
Bottom Line
A formátum-specifikációk a bemeneti és kimeneti funkciók formázására használják, beleértve a printf() funkciókat. A formátum-specifikációk határozza meg a kimeneti karakterlánc formátumát, és a % karakter. Ha az érték a változóban van tárolva, a kimenet nem jeleníthető meg közvetlenül a konzolon a formátum-specifikátorok használata nélkül. Különféle típusokat tárgyaltunk formátum-specifikációk az útmutató fenti részében található példakóddal.