Printf C: opis, oblikovanje, primjeri

Standardna funkcija izlazne konzole u C je printf. Njegov opis nalazi se u zaglavlju datoteke stdio.h. Pomoću ove funkcije možete emitirati podatke ili korisničke poruke na konzolu. Jezik C razlikuje velika i mala slova. Na primjer, dvije funkcije printf i scanf razlikuju se od Printf i Scanf poput njih. Svi znakovi u printf i scanf funkcijama također moraju biti pisani malim slovima. Jedan od najjednostavnijih primjera C printf-a, koji prikazuje poznati pozdravni svijet, jest:

opis printf c

Definiranje funkcija grupe printf u datoteci "stdio.h"

Datoteka "stdio.h" odnosi se na standardnu ​​I / O knjižnicu na jeziku C. Opis printf i sličnih funkcija naveden je u njemu kako slijedi:

opis printf c

Navedene funkcije izvršavaju učitavanje podataka s određenih lokacija, pretvaraju ih u niz znakova i šalju ih u određene izlazne tokove.

Funkcija obitelji printf

Funkcije grupe printf na C jeziku služe za obradu i formatiranu izlaz podataka u standardni stream. Štoviše printf vprintf i snimanje funkcije generirati standardni tok standardni izlaz, fprintf vfprintf i funkcija vrijednosti izlaznih argumenata poslane u nekom unaprijed određenom izlazu, a snprintf, sprintf, vsnprintf vsprintf i pisati podatke u znakova. Sve gore navedene funkcije rade pomoću stringa koji označava potrebne konverzije argumenta za izlaz.

printf c oblikovanje

Funkcija fprintf piše rezultat na izlazni tok. Tampon, koji je niz znakova, ispisuje rezultat sprintf funkcije. Ponašanje funkcije je nedefinirano ako niz koji treba biti izlaz prelazi veličinu međuspremnika.

Snprintf funkcija, poput prethodnog, zapisuje podatke u međuspremnik niza. Rezultirajući niz znakova završava null znakom, osim ako je bufsz (veličina međuspremnika) nula. Inače, ako je vrijednost bufsz je nula, onda nema izlaza tampon, a pufer svibanj dobro biti NULL pokazivač, ali povratna vrijednost (broj bajtova koji je trebao biti snimljena), i dalje se izračunava.

Funkcija printf_s općenito djeluje na isti način kao i printf, osim jednog trenutka. Glavna razlika u opisu printf_s printf u C, te je sljedeće: funkcija printf_s provjerava format string za prisustvo valjanih znakova za razliku od printf, koji samo provjerava format string za null pokazivača.

Let`s uzeti bliži pogled na printf funkciju.

Opći opis

U C, znakovi se ispisuju putem standardnog izlaza zvonjavanjem funkcije printf. Naredba printf u C oblikuje izlazni skup podataka, a šalju se u standardni stdout izlazni tok. Vrijednosti koje se prosljeđuju kao argumenti funkcije izlaze se na konzolu prema specificiranom nizu oblikovanja, što zauzvrat uključuje dvije vrste elemenata. Prvi tip su znakovi prikazani na zaslonu, a elementi koji određuju karakteristike formata podataka i koji su odgovorni za način prikazivanja argumenata u izlazu, odnose se na drugu vrstu.

Prilikom ispisa varijabli od printf do C, posebne kombinacije znakova u argumentu su zamijenjene podacima pretvorenim u skladu s tim simbolima, a za svaku vrstu podataka postoje specifične specifikacije izlaznog formata.

Vrsta funkcije i povratna vrijednost

Funkcija printf tipa int vraća cijelu vrijednost koja označava broj znakova ispisanih na zaslonu. Na primjer, možete dodijeliti:

int k = printf ("Pozdrav% c% d% s", "a", 11, "sve!")

a zatim iz vrijednosti varijable k, lako je utvrditi je li došlo do pogreške u izlazu. Ako je povratna vrijednost negativna (ako funkcija vraća "-1"), možete zaključiti da je došlo do pogreške tijekom izvršavanja.

Sintaksa i ovisnosti

Da biste koristili funkciju printf, trebate montirati datoteku zaglavlja "stdio.h" kako slijedi:

#include

Predložak funkcije izgleda ovako:

int printf (const char * format, ...)

Elipsa se odnosi na popis argumenata koji će se emitirati. Funkcija printf može se koristiti s različitim brojem argumenata, ali prvi je uvijek ograničen na obje strane dvostrukim navodnicima, a svaka sljedeća mora biti odvojena od prethodne zareze. Ono što piše u dvostrukim navodnicima i nije specifikacija formata se tiska bez promjena, inače, ako se susreće kvačilo, kopira se vrsta njegove vrijednosti.

Oblikovanje formata formata:

% [zastavica] [širina] [položaj] [dužina] tipa

printf c izlazne varijable

Oblikovanje iz printf na C izlazne vrijednosti

Čitanje format linije, prikazan u zagradama iza imena funkcije se zove, javlja se samo u jednom smjeru: s lijeva na desno, a prvi argument, naveden nakon većina tog niza se prikazuje samo ako je specifikacija je ispunjen prvi. Do završetka niza formata, specifikacije navedene u njemu pokrenut će transformaciju i ispis naknadnih argumenata. U nizu formata, prostorni se znak tretira kao redovni znak i prosljeđuje ga se u slučajevima u kojima se ne koristi u izrazu specifikacije formata.

Simbol "%" označava početak specifikacije izlaznog formata, nakon čega slijedi kôd formata. Sva polja u specifikaciji su odvojena, određujući uvjete oblikovanja brojeva ili simbola.



Oblikovani output printf-a u C ima svoje osobine. U slučaju da broj navedenih argumenata premašuje broj specifikacija formata, oni se preskaču, a ne izlaze. U suprotnom, ako je specifikacija formata veća od vrijednosti na popisu argumenata koje treba ispisati, rezultat funkcijskog poziva nije određen.

Izričito navesti da je potrebno koristiti red argument, mogućnost korištenja „% M $” umjesto „%” i „* M $” umjesto „*”, i M, decimalnu vrijednost cijeli broj koji predstavlja željeni argument položaj (indeksiranje počinje s jednom) ,

parametri

potokIzlazni tok za pisanje u datoteku
puferPokazivač na niz znakova za naknadno pisanje
bufszodređuje broj znakova, dopušteno za pisanje: maksimalna vrijednost je bufsz-1, a drugi null terminator
formatPokazivač višenamjenskog niza s null delimiterom koji određuje kako tumačiti izlazne argumente
Zastave koje se koriste u nizu formata
zastavaopis
-Poravnajte rezultat lijevo u izlaznom polju
+Kad se ispiše numerička vrijednost s znakom, "+" mora biti ispisan prije pozitivne vrijednosti (po defaultu, samo se prikazuje ";" prije negativne vrijednosti)
0Za brojeve s brojevima i brojeve s pomičnim zarezom, umjesto znakova prostora koriste se nulte vode za popunjavanje lijevih znamenaka u slučaju da je određena širina polja koja premašuje duljinu brojeva. Za cijele brojeve, zastava se zanemaruje ako je preciznost izričito navedena. Za ostale transformacije pomoću ove oznake, ponašanje funkcije je nedefinirano. Zastava "0" se ne uzima u obzir ako postoji zastava ";"
prostorAko izlazni izraz koji ima znak ne počinje znakom tog znaka ili je prazan, prostor se dodaje rezultatu. Zastava "prostor" zanemaruje se ako postoji oznaka "+"
#U tijeku je alternativni oblik konverzije
Kontrolne sekvence
sekvencarezultat
azvučni signal
nPrijevod u novu liniju
rVraćanje pokazivača na početak retka
tkartica
vOkomita tabulacija
"Dvostruki navodnici izlaze
Izlazni udarac

Različiti oblici formata

Alat za oblikovanjeUpotreba i opis za printf CVrsta argumenta
%Pisanje doslovnog "%"
cIzlazite jedan znak. Argument se pretvara u nepotpisani znak. Kada koristite "l" modifikator, argument se pretvara u niz znakovanepotpisani znak
aIspišite niz znakova. Argument mora biti pokazivač na početni element polja char znakovachar *
d
ja
Izlaz decimalnog prikaza cijele vrijednosti s znakomint
oIzlaz oktalne reprezentacije bez potpune cijele vrijednostinepotpisani int
x
X
Izvedite heksadecimalni prikaz bez potpune cijele vrijednosti. Likovi "a", "b", "c", "d", "e", "f" koriste se za pretvorbu "x". I za transformaciju "X" - "A", "B", "C", "D", "E", "F"nepotpisani int
uIzlazite decimalnu pretvorbu bez potpune cijele vrijednosti. Ako je pretvorena vrijednost i točnost jednako 0, tada se ne emitiraju simbolinepotpisani int
f
F
Izlaz decimalnog prikaza broja s pomičnim zarezom s znakomdvostruki
e
E
Izlaz je decimalni prikaz eksponencijalna plutajući brojeva točke, a zaobljeni transformira, tako da prije nego što se zarez i dalje jedna znamenka, a broj znamenki nakon decimalne točke odgovara za točnost reprezentacije (zadana preciznost je 6, a ako navedete 0, zarez se ne prikazuje na sve). Simbol "e" prikazuje se u gornjem ili malom slučaju, ovisno o pretvorbidvostruki

Heksadecimalni prikaz broja s pomičnim zarezomdvostruki
g
G
Izlaz decimalnog prikaza broja s pomičnim zarezom ili njezine decimalne eksponencijalne reprezentacije ovisno o vrijednosti i točnostidvostruki
nVratite broj elemenata tiskanih na printf. Rezultat je napisan na varijablu upućenu na argument. Specifikacija ne mora sadržavati zastave, širinu polja ili točnostint *
pIzlaz pokazivačapraznina *

printf c oblikovanje

Modifikator širine polja

U nizu formata u printf C, cijeli se broj može zapisati nakon znaka postotka i prije naredbe za formatiranje. To je modifikator širine polja i utječe na prikaz prikazanih podataka. Najmanja širina polja za vrijednost određena je ovim brojem, a prisutnost takvog modifikatora, ako je argument manji od polja dodijeljenog, uzrokuje dodavanje razmaka ili nula na rezultat. Zadana je prostorni znak, no možete je postaviti na nulu tako da ga odredite prije specifikacije širine. Modifikator određuje minimalnu širinu, a svaka vrijednost koja premašuje taj minimum bit će ispisana bez smetnji. Broj, na primjer, koji se sastoji od manje od osam znakova i ispisan je s specifikacijom "% 08d", bit će ažuriran na traženi osam znakova s ​​nulama.

Takvi modifikatori mogu također odrediti parametre za preciznost ili poravnanje.

Modifikator točnosti

Preciznost modifikator koristi se za određivanje broja decimalnih znamenki otisnutih u brojčanim prikazima. Da biste dodali modifikator točnosti, trebate staviti razdoblje nakon što odredite širinu polja i odredite željenu vrijednost točnosti poslije njega. Modifikator točnosti definiran je za formate "e", "f", "a", "E", "A" i "F". Za cijele brojeve, modifikator postavlja broj prikazanih znamenki, ako je potrebno, dodajući nulu na lijevu znamenku i, kada izračunava racionalne brojeve, određuje potrebni broj decimalnih mjesta. S obzirom na varijable nizova: sljedeći broj nakon točke u preciznom modifikatoru služi kao odrednica maksimalne duljine polja na izlazu. Na primjer, za određenu specifikaciju formata "% 4.8s", prikazat će se niz, čija je duljina u rasponu od četiri do osam znakova, ako se premašuje, ekstremni znakovi će biti izostavljeni.

Ostali modifikatori formata

Poravnanje prema zadanim postavkama je opravdano, ali to se može promijeniti stavljanjem ";" nakon "%". Ova specifikacija formata postavlja poravnanje lijevo.

Osim toga, funkcija printf može razlikovati kratke i duge tipove vrijednosti cjelobrojnih rezultata. Važeći kvalifikatori su "o", "d", "u", "i", "x" i "X". Dugi tip vrijednosti postavlja modifikator "l", a kratki tip modifikatora "h". Na primjer, kada ispisujete dugi cijeli broj i vrijednost tipa kratkog nepotpisanog int, specifikacije formata izgledaju kao "% ld" i "% hu".

dužinaopis
hZa kratke ili nepotpisane kratke vrste
lZa dugu ili nepotpisanu dugu vrstu
LZa duge dvostruke vrste

primjeri

1. Opis printf C i rezultati poziva svake funkcije:

formatiran izlazni printf c

2. Prikaz jednostavne dijaloške poruke:

printf ("poruka");

3. Šifra programa:

primjeri printf c

Izrazi navedeni u dvostrukim navodnicima prije nego što se specifikacije formata ispisuju na zaslonu, kao i argumenti koji slijede niz formata. Rezultat gore navedenih funkcija printf C, opis izlaza:

primjeri printf c

Ovaj primjer ilustrira izlaz na zaslon pomoću različitih formata niza, cijelih varijabli, simbola i broja s pomičnim zarezom.

Standardna funkcija ulaznog signala scanf i primjeri njegove uporabe

scanf c formatu

Funkcija scanf koristi se za čitanje podataka unesenih s tipkovnice. Opis printf i scanf u C prikazan je u zaglavlju "stdio.h".

scanf ("specifičari formata", vrijednost1, vrijednost2, ...);

c printf format

Jednostavan primjer rada s funkcijom scanf:

#include

int glavni () {

int a;

plutaju b;

scanf ("% d% f", a, b);

}

Dijelite na društvenim mrežama:

Povezan
SQL datoteku. SQL format datoteke: opis proširenjaSQL datoteku. SQL format datoteke: opis proširenja
Pretvorba vrste. Okrugli i Trunc funkcioniraju u PascaluPretvorba vrste. Okrugli i Trunc funkcioniraju u Pascalu
Funkcija `INDEX` u programu Excel: opis, primjena i primjeriFunkcija `INDEX` u programu Excel: opis, primjena i primjeri
Simboli u PHP-u: niz na broj i natragSimboli u PHP-u: niz na broj i natrag
Što funkcionira PHP mikrotime funkcija?Što funkcionira PHP mikrotime funkcija?
Funkcija tabulacije: kako napisati program?Funkcija tabulacije: kako napisati program?
Što je poslužitelj i koje su njegove funkcijeŠto je poslužitelj i koje su njegove funkcije
Standardni postupci i funkcije u PascaluStandardni postupci i funkcije u Pascalu
Čitanje datoteke s datotekom dobiva funkciju sadržaja PHPČitanje datoteke s datotekom dobiva funkciju sadržaja PHP
Funkcija zbrajanja u SQL: SUMFunkcija zbrajanja u SQL: SUM
» » Printf C: opis, oblikovanje, primjeri
LiveInternet