Standardní funkce výstupu konzoly v C - printf. Popis je obsažen v hlavičkovém souboru stdio.h. Pomocí této funkce můžete do konzoly zadávat data nebo vlastní zprávy. C je malá a velká písmena. Například dvě funkce printf a scanf se liší od funkcí Printf a Scanf. Všechny znaky ve funkcích printf a scanf musí být také psány malými písmeny. Jeden z nejjednodušších příkladů jazyce C, který zobrazuje známý pozdrav Hello World, jsou:
Stanovení printf funkce v souboru „stdio.h“
printf rodina funkcí
snprintf funkce stejným způsobem jako předchozí, psaní dat do vyrovnávací paměť řetězce. Výsledný řetězec znaků končí nulovým znakem, pokud bufsz (velikost vyrovnávací paměti) není nulový. V opačném případě, pokud bufsz nulové, zobrazí se vyrovnávací nic, a vyrovnávací paměť může být i nulový ukazatel, ale je vypočtená hodnota (počet bytů, které musely být písemná) se stále počítá. Funkce printf_s obecně pracuje stejným způsobem jako printf, s výjimkou jednoho okamžiku. Hlavní rozdíl v popisu printf_s a printf v C je: printf_s funkce kontroluje řetězec formátu pro platné znaky na rozdíl od printf, který jen kontroluje formát řetězec prázdný ukazatel objektu. Podívejme se blíže na funkci printf.
Obecný popis
. při odvozování proměnné printf v C specifických kombinací znaků na řádek arhu Změny jsou nahrazeny konverzí napodle těchto dat symbolů a pro každý typ dat jsou jejich výstupní formát specifikace.
Typ funkce a návratová hodnota
Syntaxe a závislost
Formát printf v výchozími hodnotami C
Symbol "%" označuje začátek specifikace specifikace výstupu, následovaný kódem formátu. Všechna pole ve specifikaci jsou oddělená, definují podmínky pro formátování čísel nebo symbolů. Formátovaný výstup printf v C má své vlastní zvláštnosti. Je-li počet těchto argumentů převyšuje počet formátu listy jsou vynechány a nezobrazí. V opačném případě, je-li specifikace formátu, než jsou hodnoty v seznamu, které mají být vytištěny argumentů, což je výsledek volání funkce není definována. Ze zřejmých indikací, že tvrzení řada by měla zahrnovat může použít „% m $“ místo „%“ a „* m $“ místo „*“, a m, celé číslo desítkové označuje argument polohy požadované (indexování začne s jedním) .
stream
výstupního proudu na zápis do souboru
, vyrovnávací paměť
(36 )
Ukazatel na řetězec znaků pro později (39 záznamu)
bufsz
Určuje počet znaků pro záznam: maximum hodnota - bufsz-1 a nulový omezovač
formát
Index k vícebytová řetězec s nulovou omezení, která určuje, jak interpretovat výstupních argumentů
Vlajky,
-
výsledky vedení na zleva doprava výstup
+
odvozování číselnou hodnotu, to znamení násilně tištěný "+" na kladnou hodnotu (výchozí se zobrazí pouze "-" k záporné hodnoty)
0
pro celá čísla a s plovoucí čárkou nuly na začátku použit namísto mezery pro vyplnění levých číslic v případě překročení šířky pole délka čísla U celých čísel se příznak ignoruje, pokud je přesnost přesně zadána. U ostatních konverzí s použitím této příznaku není chování funkce definováno. Příznak "0" je ignorován, je-li přítomen příznak "-"
prostor
V případě, že výsledek je na výstupu výraz, který je znakem nezačíná znak tohoto znaku nebo prázdný, pak je k výsledku přidán prostor. Flag "prostor" je ignorován v případě, že je označena jako "+"
#
Provedení alternativní formu konverze
,
, kontrolní sekvence
,
sekvence
výsledek
a
Zvukový signál
n
Překlad do nového řádku
Návrat kurzor na horní řádek
t
okrajů
v
Vertikální tabulka
"
61)
Závěrky
Různéspecifikace formátu
Formát Spetsyfykator
Použití a popis printf C
Argument zboží
%
záznamu doslovný "%"
c
Závěr jednoho symbolu. Existuje argument pro převod nepodepsaného znaku. Při použití modifikátoru argumentem "L" se převede na řetězec znaků
bez znaménka char
s
Vytiskněte řetězce znaků. Tento argument musí být ukazatel na počáteční prvek pole znaků char
char *
d
i
Závěr desetinná znázornění celé číslo se znaménkem
int
, o
Závěr osmičkové podání bez podepsané celé číslo hodnoty
unsigned int
x
X
Závěr hexadecimální reprezentace bez hodnoty celočíselného znaménka. Symboly "a", "b", "c", "d", "e", "f" jsou použity pro konverzi na "x". Pro transformaci "X" - "A", "B", "C", "D", "E", "F"
unsigned int
u
Závěr dekadická bez podepsané celočíselnou hodnotu. V případě, že převedenou hodnotu a přesnost spolu rovno 0, nejsou zobrazeny znaky
unsigned int
, f
F
,
Závěr desetinná reprezentace s plovoucí desetinnou čárkou, což je ochranná známka
dvojitě
, e
, E
Závěr desetinná exponenciální reprezentace s plovoucí desetinnou čárkou, zaoblená a převést tak, žepřed tím, než čárka je jedno číslo a počet číslic za desetinnou čárkou odpovídá přesně reprezentují (default přesnost 6 a 0, pokud zadaný znak čárka se nezobrazuje vůbec). Symbol "e" je zobrazena v horní nebo dolní případě v závislosti na konverzi
dvojitě
a
, A
,
Závěr hexadecimální reprezentace čísel s plovoucí desetinnou čárkou
dvojitě
, g
g
(312 )
Závěr desetinná reprezentace s plovoucí desetinnou čárkou nebo desetinné exponenciálním zastoupení v závislosti na hodnotě a přesnosti
dvojitě
n (322 )
Vrátí počet prvků vytištěných funkcí printf. Výsledek je napsán v proměnné daném argumentem. Specifikace nesmí obsahovat příznaky, šířka pole nebo přesnost
int *
, P
Závěr ukazatel
neplatný *
šířka modifikátor pole
Modifikátor přesnosti
Ostatní rozměry modifikátory
, délka
Popis
H
pro typy zařízení krátkého dosahu, nebo bez znaménka
Pro dlouhé dvojité