Funkcija fprintf () u C ++-u koristi se za pisanje formatiranog niza u tok datoteka.
prototip fprintf ()
int fprintf (FILE * stream, const char * format, …);
fprintf()
Funkcija piše string na koji pokazuje formatu potoka stream. Format niza može sadržavati specifikatore formata koji počinju s% koji se zamjenjuju vrijednostima varijabli koje se fprintf()
funkciji prosljeđuju kao dodatni argumenti.
Definirano je u datoteci zaglavlja.
fprintf () Parametri
- stream: pokazivač na tok izlazne datoteke u koji je zapisan sadržaj.
- format: pokazivač na nulu završeni niz koji je zapisan u tok datoteke. Sastoji se od znakova, zajedno s neobaveznim specifikatorima formata koji počinju s%.
Specifikatori formata zamjenjuju se vrijednostima odgovarajućih varijabli koje slijede niz formata.
Specifikator formata ima sljedeće dijelove:
- Vodeći znak%
- Zastave: Izborna jedna ili više zastavica koje mijenjaju ponašanje pretvorbe.
- -: Lijevo opravdajte rezultat unutar polja. Po defaultu je ispravno opravdano.
- +: Znak rezultata pridružen je početku vrijednosti, čak i za pozitivne rezultate.
- Razmak: Ako nema znaka, razmak se dodaje na početak rezultata.
- #: Izvodi se alternativni oblik pretvorbe.
- 0: Koristi se za cijeli broj i broj s pomičnim zarezom. Vodeće se nule koriste za umetanje brojeva umjesto razmaka.
- Širina: Izborna * ili cijela vrijednost koja se koristi za specificiranje polja minimalne širine.
- Preciznost: Izborno polje koje se sastoji od a. nakon čega slijedi * ili cijeli broj ili ništa za specificiranje preciznosti.
- Duljina: neobavezni modifikator duljine koji određuje veličinu argumenta.
- Specifikator: Specifikator formata pretvorbe. Dostupni specifikatori formata su sljedeći:
Specifikator formata Opis % Ispisi% c Napisuje jedan lik s Zapisuje niz znakova d ili ja Pretvara potpisani cijeli broj u decimalni prikaz o Pretvara nepotpisani cijeli broj u osminski prikaz X ili x Pretvara nepotpisani cijeli broj u heksadecimalni prikaz u Pretvara cijeli broj bez potpisa u decimalni prikaz Ž ili ž Pretvara broj s pomičnom zarezom u decimalni prikaz E ili e Pretvara broj s pomičnom zarezom u zapis decimalnog eksponenta A ili a Pretvara broj s pomičnom zarezom u heksadecimalni eksponent G ili g Pretvara broj s pomičnom zarezom u decimalni ili decimalni zapis eksponenta n Vraća broj znakova do sada napisanih ovim pozivom funkcije. Rezultat se zapisuje u vrijednost na koju ukazuje argument str Napisuje implementacijski definirani slijed znakova koji definira pokazivač. Dakle, općeniti format specifikatora formata je:
%(flags)(width)(.precision)(length)specifier
- …: Ostali dodatni argumenti koji specificiraju podatke za ispis. Javljaju se u slijedu prema specifikatoru formata.
fprintf () Povratna vrijednost
Ako je uspješna, fprintf()
funkcija vraća broj napisanih znakova. U slučaju neuspjeha vraća negativnu vrijednost.
Primjer: Kako funkcionira funkcija fprintf ()
#include int main() ( FILE *fp; fp = fopen("example.txt","w"); char lang(5)(20) = ("C","C++","Java","Python","PHP"); fprintf(fp,"Top 5 programming language"); for (int i=0; i<5; i++) fprintf(fp, "%d. %s", i+1, lang(i)); fclose(fp); return 0; )
Kada pokrenete program, stvorit će se datoteka "example.txt" (ako već ne postoji) i sadrži sljedeći niz:
Top 5 programskih jezika 1. C 2. C ++ 3. Java 4. Python 5. PHP