C-kielessä printf()-funktiota käytetään muotoillun tulosteen tulostamiseen vakiotulosteeseen stdout (joka on yleensä konsolin näyttö). Printf-funktio on osa C-standardin kirjastoa < stdio.h> ja se voi mahdollistaa tulosteen muotoilun useilla tavoilla.
Tulostimen printf syntaksi
printf ( ' formatted_string ', arguments_list);>
Parametrit
- formatted_string: Se on merkkijono, joka määrittää tulostettavat tiedot. Se voi myös sisältää muotomääritteen minkä tahansa muuttujan, kuten merkin ja kokonaisluvun, arvon tulostamiseksi. argumentit_lista: Nämä ovat muotomääritteen mukaisia muuttujien nimiä.
Palautusarvo
- printf() palauttaa onnistuneen suorituksen jälkeen tulostettujen merkkien määrän.
- Jos tapahtuu virhe, palautetaan negatiivinen arvo.
Esimerkki printf:stä
Tässä esimerkissä tulostamme merkkijonon Hello Geek! tulosteessa printf()-funktiolla. Toiminnossa printf() tulostetaan se, mitä kirjoitamme lainausmerkkien ( ) sisään.
C
// C program to illustrate the use of printf function> #include> int> main()> {> >// using printf to print 'Hello Geek!'> >printf>(>'Hello Geek!'>);> >return> 0;> }> |
>
>Lähtö
Hello Geek!>
Muotoilu C printf
C:ssä arvo voi olla merkkityyppi, kokonaislukutyyppi, float-tyyppi ja niin edelleen. Näiden arvojen näyttämiseksi ja muotoilemiseksi printf:llä meillä on muotomäärityksiä, joita käytetään muotoillussa merkkijonossa. Nämä muotomääritykset alkavat prosenttisymbolilla '%'.
Muotomääritteen syntaksi
%[flags][width][.precision][length]specifier>
1. Määrittäjä
Se on merkki, joka ilmaisee tiedon tyypin. Jotkut yleisesti käytetyt määritteet ovat:
- %d : kokonaislukujen tulostamiseen %f : liukulukujen tulostamiseen %c: merkkien tulostamiseen %s: merkkijonojen tulostamiseen %p: muistiosoitteiden tulostamiseen %x : heksadesimaaliarvojen tulostamiseen
Esimerkki
printf(' %c ', char_variable );> 2. Leveys
Se on alimäärittäjä, joka ilmaisee tulostettavien merkkien vähimmäismäärän.
Jos merkkien määrä on pienempi kuin määritetty leveys, tyhjää välilyöntiä käytetään täyttämään jäljellä olevat merkit. Mutta jos merkkien määrä on suurempi kuin määritetty leveys, kaikki merkit tulostetaan silti ilman, että niitä leikataan pois.
Esimerkki
printf('% 25 s', some_string );> tai
printf('% * s', 25 , some_string );> 3. Tarkkuus
Tarkkuusalimääritteen merkitys vaihtelee eri muotomääritteiden kanssa, joiden kanssa sitä käytetään.
c# sisältää merkkijonon
- Integraalitiedot (d, i, u, o, x, X): Määrittää tulostettavien numeroiden vähimmäismäärän. Mutta toisin kuin leveyden alimäärittäjä, tämä alimäärittäjä lisää numeroon etunollia välilyöntien sijaan. Jos numerossa on enemmän numeroita kuin tarkkuus, numero tulostetaan sellaisenaan. Float tai Double Data(f, e, a, A): Määrittää desimaalipilkun jälkeen tulostettavien numeroiden määrän. Merkkijono(t): Määrittää tulostettavan merkkijonon pituuden.
Esimerkki
printf('% .10 d', some_integer ); printf('% .3f ', some_float ); printf('% .25 s', some_string) ;> tai
printf('% .* d', 10 , some_integer ); printf('% .* f', 3 , some_float ); printf('% .* s', 25 , some_string );> 4. Pituus
Määrittää muistissa olevan tietotyypin pituuden. Sitä käytetään kirjeenvaihdossa C:n kanssa
// C program to print a variable> #include> int> main()> {> >int> num1 = 99;> >int> num2 = 1;> >printf>(>'The sum of %d and %d is %d
'>, num1, num2,> >num1 + num2);> >return> 0;> }> |
>
>Lähtö
The sum of 99 and 1 is 100>
Esimerkki 2: printf määritetyllä leveydellä
Tässä esimerkissä määritämme tulosteen leveyden, jonka printf()-funktio tulostaa.
C
// C program to illustrate the use of printf with width> // specifier> #include> int> main()> {> >// number to be printed> >int> num = 123456;> >// printing the num with 10 width and getting the> >// printed characters in char_printed> >printf>(>'Printing num with width 10: '>);> >int> chars_printed =>printf>(>'%10d'>, num);> >printf>(>'
Number of characters printed: %d'>,> >chars_printed);> >// specifying with using other method> >printf>(>'
Printing num with width 3: '>);> >chars_printed =>printf>(>'%*d'>, 3, num);> >printf>(>'
Number of characters printed: %d'>,> >chars_printed);> >return> 0;> }> |
>
>Lähtö
Printing num with width 10: 123456 Number of characters printed: 10 Printing num with width 3: 123456 Number of characters printed: 6>
Kuten näemme, vaikka määritämme leveyden, joka on pienempi kuin nykyiset merkit, kaikki merkit tulostuvat silti. Olemme myös nähneet kaksi tapaa, joilla voimme määrittää leveyden.
Esimerkki 3: printf ja Precision Sub-Specifier
Tässä esimerkissä esittelemme tarkkuusalimääritteen printf()-funktiossa
C
// C program to illustrate the use of precision> // sub-specifier> #include> int> main()> {> >int> num = 2451;> >float> dec = 12.45126;> >char>* str =>'techcodeview.com'>;> >// precision for integral data> >printf>(>'For integers: %.10d
'>, num);> >// precision for numbers with decimal points> >printf>(>'For floats: %.2f
'>, dec);> >// for strings> >printf>(>'For strings: %.5s'>, str);> >return> 0;> }> |
>
>Lähtö
For integers: 0000002451 For floats: 12.45 For strings: Geeks>
Esimerkki 4: printf pituuden alimääritteen kanssa
C
// C program to illustrate the length modifier> #include> int> main()> {> >long> var = 3000000000;> >// printing var using %d> >printf>(>'Using %%d: %d'>, var);> >// printing var using %ld> >printf>(>'
Using %%ld: %ld'>, var);> >return> 0;> }> |
>
>Lähtö
Using %d: -1294967296 Using %ld: 3000000000>