printf v C

V jazyce C se funkce printf() používá k tisku formátovaného výstupu na standardní výstup stdout (což je obecně obrazovka konzoly). Funkce printf je součástí standardní knihovny jazyka C < stdio.h> a může umožnit formátování výstupu mnoha způsoby.

Syntaxe printf

 printf  ( ' formatted_string ',   arguments_list); 

Parametry

    formatted_string: Je to řetězec, který specifikuje data, která mají být vytištěna. Může také obsahovat specifikátor formátu pro tisk hodnoty libovolné proměnné, jako je znak a celé číslo. arguments_list: Toto jsou názvy proměnných odpovídající specifikátoru formátu.

Návratová hodnota

  • printf() vrací počet znaků vytištěných po úspěšném provedení.
  • Pokud dojde k chybě, vrátí se záporná hodnota.

Příklad printf

V tomto příkladu tiskneme řetězec Hello Geek! ve výstupu pomocí funkce printf(). Ve funkci printf() je na výstupu vytištěno, co napíšeme do dvojitých uvozovek ().

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ýstup

Hello Geek! 

Formátování v C printf

V C může být hodnotou typ znaku, typ celého čísla, typ float atd. Pro zobrazení a formátování těchto hodnot pomocí printf máme specifikátory formátu, které se používají ve formátovaném řetězci. Tyto specifikátory formátu začínají symbolem procent '%'.

Syntaxe specifikátoru formátu

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

1. Specifikátor

Je to znak, který označuje typ dat. Některé běžně používané specifikátory jsou:

    %d : pro tisk celých čísel %f : pro tisk čísel s plovoucí desetinnou čárkou %c: pro tisk znaků %s: pro tisk řetězců %p: pro tisk adres paměti %x : pro tisk hexadecimálních hodnot

Příklad

printf(' %c ', char_variable ); 

2. Šířka

Je to dílčí specifikátor, který označuje minimální počet znaků, které budou vytištěny.

Pokud je počet znaků menší než zadaná šířka, použije se k vyplnění míst zbývajících znaků bílé místo. Pokud je však počet znaků větší než zadaná šířka, všechny znaky se vytisknou, aniž by byly nějaké oříznuty.

Příklad

printf('% 25 s', some_string ); 

nebo

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

3. Přesnost

Význam dílčího specifikátoru přesnosti se u různých specifikátorů formátu, se kterými se používá, liší.

    Pro integrální data (d, i, u, o, x, X): Určuje minimální počet číslic, které se mají vytisknout. Ale na rozdíl od dílčího specifikátoru šířky místo bílých mezer tento dílčí specifikátor přidává k číslu úvodní nuly. Pokud má číslo více číslic, než je přesnost, vytiskne se číslo tak, jak je. Pro plovoucí nebo dvojitá data(f, e, a, A) : Určuje počet číslic, které se mají vytisknout za desetinnou čárkou. Pro řetězec (s): Určuje délku řetězce, který se má vytisknout.

Příklad

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

nebo

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

4. Délka

Určuje délku datového typu v paměti. Používá se v korespondenci 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ýstup

The sum of 99 and 1 is 100 

Příklad 2: printf se specifikovanou šířkou

V tomto příkladu zadáme šířku výstupu, který bude vytištěn funkcí 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ýstup

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

Jak vidíme, i když definujeme šířku, která je menší než současné znaky, všechny znaky jsou stále vytištěny. Také jsme viděli dva způsoby, kterými můžeme definovat šířku.

Příklad 3: printf s přesným dílčím specifikátorem

V tomto příkladu předvedeme dílčí specifikátor přesnosti ve funkci 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ýstup

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

Příklad 4: printf s dílčím specifikátorem délky

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ýstup

Using %d: -1294967296 Using %ld: 3000000000 

Související články: