Štandardná funkcia výstupu konzoly v C - printf. Popis je obsiahnutý v hlavičkovom súbore stdio.h. Pomocou tejto funkcie môžete do konzoly odosielať dáta alebo vlastné správy. C je veľké a malé písmená. Napríklad dve funkcie printf a scanf sa líšia od funkcií Printf a Scanf. Všetky znaky vo funkciách printf a scanf musia byť tiež písané malými písmenami. Jeden z najjednoduchších príkladov jazyku C, ktorý zobrazuje známy pozdrav Hello World, sú:
Stanovenie printf funkcie v súbore "stdio.h"
funkčné skupiny printf
snprintf funkcie rovnakým spôsobom ako predchádzajúci, písanie dát do vyrovnávacej pamäť reťazca. Výsledný reťazec znakov končí znakom null, pokiaľ bufsz (veľkosť vyrovnávacej pamäte) nie je nula. V opačnom prípade, ak bufsz nulové, zobrazí sa vyrovnávacie nič, a vyrovnávacia pamäť môže byť aj nulový ukazovateľ, ale je vypočítaná hodnota (počet bytov, ktoré museli byť písomná) sa stále počíta. Funkcia printf_s spravidla funguje rovnakým spôsobom ako printf, s výnimkou jednej chvíle. Hlavný rozdiel v popise printf_s a printf v C je: printf_s funkcia kontroluje reťazec formátu pre platné znaky na rozdiel od printf, ktorý len kontroluje formát reťazec prázdny ukazovateľ objektu. Pozrime sa bližšie na funkciu printf.
Všeobecný opis
. pri odvodzovaní premenné printf v C špecifických kombinácií znakov na riadok arhu Návrhy sa nahradia konverzioupodľa týchto údajov symbolov a pre každý typ údajov je ich výstupný formát špecifikácie.
Typ funkcie a návratová hodnota
Syntax a závislosť
Formát printf v východiskovými hodnotami C
Symbol "%" označuje začiatok špecifikácie špecifikácie výstupu, za ktorým nasleduje formátový kód. Všetky polia v špecifikácii sú oddelené, definujú podmienky na formátovanie čísel alebo symbolov. Formátovaný výstup printf v C má svoje vlastné zvláštnosti. V prípade, že počet uvedených argumentov prekročí počet špecifikácií formátu, budú preskočení a nebudú zobrazené. V opačnom prípade, ak je špecifikácia formátu, než sú hodnoty v zozname, ktoré majú byť vytlačené argumentov, čo je výsledok volanie funkcie nie je definovaná. Zo zrejmých indikáciou, že tvrdenie rad by mala zahŕňať môže použiť "% m $" namiesto "%" a "* m $" namiesto "*", a m, celé číslo desiatkovej označuje argument polohy požadovanej (indexovanie začne s jedným) ,
stream
výstupného prúdu na zápis do súboru
, vyrovnávacia pamäť
(36 )
Ukazovateľ na reťazec znakov pre neskôr (39 záznamu)
bufsz
Určuje počet znakov pre záznam: maximum hodnota - bufsz-1 a nulový obmedzovač
formát
Index k Viacbytové reťazec s nulovou obmedzenia, ktorá určuje, ako interpretovať výstupných argumentov
Vlajky,
-
výsledky vedenie na zľava doprava výstup
+
odvodzovanie číselnú hodnotu, to znamenie násilne tlačený "+" na kladnú hodnotu (predvolené sa zobrazí len "-" k zápornej hodnoty)
0
pre celé čísla a s plávajúcou čiarkou nuly na začiatku použitý namiesto znaky medzery na vyplnenie ľavých číslic v prípade prekročenia šírky poľa dĺžka čísla Pri celých číslach sa vlajka ignoruje, ak je presnosť presne špecifikovaná. Pri ostatných konverziách používajúcich tento príznak nie je definované správanie funkcie. Príznak "0" je ignorovaný, ak je prítomný príznak "-"
priestor
V prípade, že výsledok je na výstupe výraz, ktorý je znakom nezačína znak tohto znamienka alebo prázdne, potom sa k výsledku pridá priestor. Flag "priestor" je ignorovaný v prípade, že je označená ako "+"
#
Vyhotovenie alternatívnu formu konverzie
,
, kontrolné sekvencie
Postupnosť
Výsledok
a
120)
n
Preklad novej linky
R
Návrat kurzor na horný riadok
t
okrajov
v
Vertikálna tabuľka
"
Záver dvojité tlapky
61)
Záver lomítka
Rôznešpecifikácia formátu
Formát Spetsyfykator
Použitie a opis printf C
Argument tovar
%
záznamu doslovný "%"
c
Uzavretie jeden znak. Existuje argument na konverziu nepodpísaného znaku. Pri použití modifikátora argumentom "L" sa prevedie na reťazec znakov
bez znamienka char
s
Vytlačte reťazce znakov. Toto tvrdenie musí byť kurzor na počiatočnú prvok poľa znakov char
char *
d
i
Záver desatinné znázornenie celé číslo so znamienkom
int
, o
Záver osmičkové podanie bez podpísanej celé číslo hodnoty
unsigned int
x
X
Záver hexadecimálne reprezentácia bez hodnoty celočíselného znaku. Na konverziu znaku "x" sa používajú znaky "a", "b", "c", "d", "e", "f". Pre transformáciu "X" - "A", "B", "C", "D", "E", "F"
unsigned int
u
Záver dekadické bez podpísané celočíselnú hodnotu. V prípade, že prevedenú hodnotu a presnosť spolu presne 0, nie sú zobrazené znaky
unsigned int
, f
F
,
Záver desatinné reprezentácie s plávajúcou desatinnou čiarkou, čo je ochranná známka
dvojito
, e
, e
Záver desatinné exponenciálna reprezentácia s plávajúcou desatinnou čiarkou, zaoblená a previesť tak, žepred tým, než čiarka je jedno číslo a počet číslic za desatinnou čiarkou zodpovedá presne reprezentujú (default presnosť 6 a 0, ak zadaný znak čiarka sa nezobrazuje vôbec). Symbol "e" je zobrazená v hornej alebo dolnej prípade v závislosti na konverziu
dvojito
a
, A
,
Záver hexadecimálne reprezentácie čísel s plávajúcou desatinnou čiarkou
dvojito
, g
g
(312 )
Záver desatinné reprezentácie s plávajúcou desatinnou čiarkou alebo desatinné exponenciálnym zastúpenie v závislosti na hodnote a presnosti
dvojito
n (322 )
Vráti počet prvkov vytlačených funkciou printf. Výsledok je napísaný v premennej danom argumentom. Špecifikácie nesmie obsahovať príznaky, šírka poľa alebo presnosť
int *
, P
Záver ukazovateľ
void *
šírka modifikátor pole
Modifikátor presnosti
Ďalšie modifikátory formátu
, dĺžka
Opis
H
pre typy zariadení s krátkym dosahom, alebo bez znamienka
Pre dlhé dvojité