Funkce fprintf () v C ++ se používá k zápisu formátovaného řetězce do datového proudu souboru.
prototyp fprintf ()
int fprintf (FILE * stream, const char * formát,…);
fprintf()
Funkce zapíše řetězec odkazuje formátu do proudu potoka. Formát řetězce může obsahovat specifikátory formátu začínající%, které jsou nahrazeny hodnotami proměnných, které jsou předány fprintf()
funkci jako další argumenty.
Je definován v hlavičkovém souboru.
fprintf () parametry
- stream: Ukazatel na proud výstupního souboru, kde je zapisován obsah.
- formát: Ukazatel na řetězec s nulovým zakončením, který je zapsán do proudu souboru. Skládá se ze znaků a volitelných specifikátorů formátu začínajících na%.
Specifikátory formátu jsou nahrazeny hodnotami příslušných proměnných, které následují za formátovacím řetězcem.
Specifikátor formátu má následující části:
- Přední znak%
- Příznaky: Volitelný jeden nebo více příznaků, které upravují chování převodu.
- -: Vlevo zarovná výsledek v poli. Ve výchozím nastavení je to správně zarovnané.
- +: Znaménko výsledku je připojeno na začátek hodnoty, a to i pro pozitivní výsledky.
- Mezera: Pokud není žádná značka, na začátek výsledku se připojí mezera.
- #: Je provedena alternativní forma převodu.
- 0: Používá se pro celé číslo a číslo s plovoucí desetinnou čárkou. K vyplnění čísel místo mezery se používají úvodní nuly.
- Šířka: Volitelná * nebo celočíselná hodnota použitá k určení pole minimální šířky.
- Přesnost: Volitelné pole skládající se z a. následuje * nebo celé číslo nebo nic k určení přesnosti.
- Délka: Volitelný modifikátor délky, který určuje velikost argumentu.
- Specifikátor: Specifikátor formátu převodu. Dostupné specifikátory formátu jsou následující:
Specifikátor formátu Popis % Tisky% C Zapíše jeden znak s Zapíše řetězec znaků d nebo i Převede celé číslo se znaménkem na desítkové vyjádření Ó Převede celé číslo bez znaménka na osmičkovou reprezentaci X nebo x Převede celé číslo bez znaménka na šestnáctkové vyjádření u Převede celé číslo bez znaménka na desítkové vyjádření F nebo f Převede číslo s plovoucí desetinnou čárkou na desítkové vyjádření E nebo e Převede číslo s plovoucí desetinnou čárkou na desítkovou notaci exponentu A nebo a Převede číslo s plovoucí desetinnou čárkou na hexadecimální exponent G nebo g Převede číslo s plovoucí desetinnou čárkou na desítkovou nebo desítkovou notaci n Vrátí počet znaků doposud zapsaných tímto voláním funkce. Výsledek se zapíše na hodnotu, na kterou odkazuje argument p Zapíše posloupnost znaků definovanou implementací definující ukazatel. Obecný formát specifikátoru formátu je tedy:
%(flags)(width)(.precision)(length)specifier
- …: Další další argumenty specifikující data, která mají být vytištěna. Vyskytují se v pořadí podle specifikátoru formátu.
fprintf () Vrátit hodnotu
Pokud je úspěšná, fprintf()
funkce vrátí počet zapsaných znaků. Při selhání vrátí zápornou hodnotu.
Příklad: Jak funguje funkce 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; )
Při spuštění programu bude vytvořen soubor "example.txt" (pokud již neexistuje), který obsahuje následující řetězec:
Top 5 programovacích jazyků 1. C 2. C ++ 3. Java 4. Python 5. PHP