A C ++ fprintf () függvényével egy formázott karakterláncot lehet írni a fájlfolyamba.
fprintf () prototípus
int fprintf (FÁJL * adatfolyam, const char * formátum,…);
A fprintf()
függvény formátum szerint rámutat a karakterláncra az adatfolyamba. A karaktersorozat formátuma tartalmazhat% -al kezdődő formátummeghatározókat, amelyek helyettesítik azokat a változók értékeit, amelyeket fprintf()
további argumentumként továbbítanak a függvénynek.
A fejlécfájlban van meghatározva.
fprintf () Paraméterek
- adatfolyam: Mutató egy kimeneti fájlfolyamra, ahol a tartalom meg van írva.
- formátum: Mutató egy nullával végződő karakterláncra, amelyet a fájlfolyamba írnak. Karakterekből áll, és opcionális formátum-specifikátorokkal kezdődik, amelyek% -kal kezdődnek.
A formátum-specifikátorokat a megfelelő változók értékei helyettesítik, amelyek a formátum-karakterláncot követik.
A formátummeghatározó a következő részekkel rendelkezik:
- Vezető% jel
- Jelölések: Opcionálisan egy vagy több jelölés, amely módosítja a konverzió viselkedését.
- -: Bal igazolja az eredményt a mezőn belül. Alapértelmezés szerint helyesen indokolt.
- +: Az eredmény jele az érték elejéhez van kötve, még pozitív eredmények esetén is.
- Szóköz: Ha nincs előjel, akkor az eredmény elejéhez szóköz tartozik.
- #: A konverzió alternatív formáját hajtják végre.
- 0: Egész számra és lebegőpontos számra használják. A nullák a szóköz helyett a számok kitöltésére szolgálnak.
- Szélesség: Opcionális * vagy egész érték, amelyet a minimális szélesség mező megadásához használnak.
- Pontosság: Választható mező, amely a. * vagy egész szám, vagy semmi a pontosság megadásához.
- Hossz: Opcionális hosszmódosító, amely megadja az argumentum méretét.
- Specifier: Konverziós formátum-specifikáló. A rendelkezésre álló formátum-meghatározók a következők:
Formátummeghatározó Leírás % Nyomat% c Egyetlen karaktert ír s Karakterláncot ír d vagy i Az aláírt egész számot decimális ábrázolássá alakítja o Az előjel nélküli egész számot oktális ábrázolássá alakítja X vagy x Aláíratlan egész számot hexadecimális ábrázolássá alakítja u Az aláíratlan egész számot decimális ábrázolássá alakítja F vagy f A lebegőpontos számot tizedesre konvertálja E vagy e A lebegőpontos számot decimális exponens jelöléssé alakítja A vagy a A lebegőpontos számot hexadecimális kitevővé konvertálja G vagy g A lebegőpontos számot decimális vagy decimális exponens jelöléssé alakítja n Visszaadja a függvénynek a hívás által eddig írt karakterek számát. Az eredményt arra az értékre írják, amelyre az argumentum rámutat o Ír egy megvalósítás által definiált karaktersorozatot, amely meghatároz egy mutatót. Tehát a formátummeghatározó általános formátuma:
%(flags)(width)(.precision)(length)specifier
- …: Egyéb további érvek, amelyek meghatározzák a kinyomtatandó adatokat. A formátummeghatározó szerint sorrendben fordulnak elő.
fprintf () Visszatérési érték
Sikeres eredmény esetén a fprintf()
függvény visszaadja az írt karakterek számát. Meghibásodás esetén negatív értéket ad vissza.
Példa: Hogyan működik az fprintf () függvény
#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; )
A program futtatásakor létrejön egy "example.txt" fájl (ha még nem létezik), és a következő karakterláncot tartalmazza:
Az első 5 programozási nyelv 1. C 2. C ++ 3. Java 4. Python 5. PHP