logo

printf v C

V jazyku C sa funkcia printf() používa na tlač formátovaného výstupu na štandardný výstup stdout (čo je vo všeobecnosti obrazovka konzoly). Funkcia printf je súčasťou štandardnej knižnice jazyka C < stdio.h> a môže umožniť formátovanie výstupu mnohými spôsobmi.

Syntax printf

 printf  ( ' formatted_string ',   arguments_list);>

Parametre

    formatted_string: Je to reťazec, ktorý špecifikuje údaje, ktoré sa majú vytlačiť. Môže tiež obsahovať špecifikátor formátu na vytlačenie hodnoty akejkoľvek premennej, ako je znak a celé číslo. arguments_list: Toto sú názvy premenných zodpovedajúce špecifikátoru formátu.

Návratová hodnota

  • printf() vráti počet znakov vytlačených po úspešnom vykonaní.
  • Ak sa vyskytne chyba, vráti sa záporná hodnota.

Príklad printf

V tomto príklade tlačíme reťazec Hello Geek! vo výstupe pomocou funkcie printf(). Vo funkcii printf() sa to, čo napíšeme do dvojitých úvodzoviek (), vytlačí na výstupe.



C






// C program to illustrate the use of printf function> #include> int> main()> {> >// using printf to print 'Hello Geek!'> >printf>(>'Hello Geek!'>);> >return> 0;> }>



>

>

Výkon

Hello Geek!>

Formátovanie v C printf

V jazyku C môže byť hodnotou typ znaku, typ celého čísla, typ float atď. Na zobrazenie a formátovanie týchto hodnôt pomocou printf máme špecifikátory formátu, ktoré sa používajú vo formátovanom reťazci. Tieto špecifikátory formátu začínajú symbolom percenta '%'.

Syntax špecifikátora formátu

%[flags][width][.precision][length]specifier>

1. Špecifikátor

Je to znak, ktorý označuje typ údajov. Niektoré bežne používané špecifikátory sú:

    %d : na tlač celých čísel %f : na tlač čísel s pohyblivou rádovou čiarkou %c: na tlač znakov %s: na tlač reťazcov %p: na tlač adries pamäte %x : na tlač hexadecimálnych hodnôt

Príklad

printf(' %c ', char_variable );>

2. Šírka

Je to podšpecifikátor, ktorý označuje minimálny počet znakov, ktoré sa vytlačia.

Ak je počet znakov menší ako špecifikovaná šírka, na vyplnenie miest zostávajúcich znakov sa použije biele miesto. Ak je však počet znakov väčší ako špecifikovaná šírka, všetky znaky sa vytlačia bez orezania.

Príklad

printf('% 25 s', some_string );>

alebo

printf('% * s', 25 , some_string );>

3. Presnosť

Význam podšpecifikátora presnosti sa líši pre rôzne špecifikátory formátu, s ktorými sa používa.

pole v java metódach
    Pre integrálne údaje (d, i, u, o, x, X): Určuje minimálny počet číslic, ktoré sa majú vytlačiť. Ale na rozdiel od podšpecifikátora šírky namiesto bielych medzier tento podšpecifikátor pridáva k číslu úvodné nuly. Ak má číslo viac číslic, než je presnosť, vytlačí sa tak, ako je. Pre pohyblivé alebo dvojité údaje (f, e, a, A) : Určuje počet číslic, ktoré sa majú vytlačiť za desatinnou čiarkou. For String (s): Určuje dĺžku reťazca, ktorý sa má vytlačiť.

Príklad

printf('% .10 d', some_integer ); printf('% .3f ', some_float ); printf('% .25 s', some_string) ;>

alebo

printf('% .* d', 10 , some_integer ); printf('% .* f', 3 , some_float ); printf('% .* s', 25 , some_string );>

4. Dĺžka

Určuje dĺžku typu údajov v pamäti. Používa sa v korešpondencii s C




// 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;> }>

>

>

Výkon

The sum of 99 and 1 is 100>

Príklad 2: printf so špecifikovanou šírkou

V tomto príklade zadáme šírku výstupu, ktorý bude vytlačený funkciou printf().

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;> }>

>

>

Výkon

Printing num with width 10: 123456 Number of characters printed: 10 Printing num with width 3: 123456 Number of characters printed: 6>

Ako vidíme, aj keď definujeme šírku, ktorá je menšia ako súčasné znaky, všetky znaky sa vytlačia. Tiež sme videli dva spôsoby, ktorými môžeme definovať šírku.

Príklad 3: printf s presným podšpecifikátorom

V tomto príklade predvedieme podšpecifikátor presnosti vo funkcii printf().

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;> }>

>

>

Výkon

For integers: 0000002451 For floats: 12.45 For strings: Geeks>

Príklad 4: printf s podšpecifikátorom dĺžky

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;> }>

>

>

Výkon

Using %d: -1294967296 Using %ld: 3000000000>

Súvisiace články: