Fprintf () -funktionen i C ++ bruges til at skrive en formateret streng til filstrømmen.
fprintf () prototype
int fprintf (FILE * stream, const char * format,…);
Den fprintf()
funktion skriver strengen peget på af formatet til åen strøm. Strengformatet kan indeholde formatspecifikatorer, der starter med%, som erstattes af værdierne for variabler, der sendes til fprintf()
funktionen som yderligere argumenter.
Det er defineret i header-fil.
fprintf () Parametre
- stream: Markør til en outputfilstrøm, hvor indholdet skrives.
- format: Markør til en null afsluttet streng, der skrives til filstrømmen. Den består af tegn sammen med valgfri formatspecifikationer, der starter med%.
Formatspecifikationerne erstattes af værdierne for de respektive variabler, der følger formatstrengen.
Formatspecifikatoren har følgende dele:
- Et førende% tegn
- Flag: Valgfrit et eller flere flag, der ændrer konverteringsadfærden.
- -: Venstre retfærdiggør resultatet inden for feltet. Som standard er det retfærdiggjort.
- +: Tegn på resultatet er knyttet til begyndelsen af værdien, selv for positive resultater.
- Mellemrum: Hvis der ikke er noget tegn, er der knyttet et mellemrum til begyndelsen af resultatet.
- #: En alternativ form for konvertering udføres.
- 0: Det bruges til heltal og flydende nummer. Førende nuller bruges til at padde numrene i stedet for mellemrum.
- Bredde: En valgfri * eller heltalsværdi, der bruges til at angive et minimumsbreddefelt.
- Præcision: Et valgfrit felt bestående af en. efterfulgt af * eller heltal eller intet for at specificere præcisionen.
- Længde: En valgfri længdemodifikator, der angiver størrelsen på argumentet.
- Specifier: En konverteringsformatspecifikator. De tilgængelige formatspecifikatorer er som følger:
Format Specifier Beskrivelse % Udskriver% c Skriver et enkelt tegn s Skriver en tegnstreng d eller i Konverterer et underskrevet heltal til decimalrepræsentation o Konverterer et usigneret heltal til oktal repræsentation X eller x Konverterer et usigneret heltal til hexadecimal repræsentation u Konverterer et usigneret heltal til decimalrepræsentation F eller f Konverterer flydende nummer til decimalrepræsentationen E eller e Konverterer flydende nummer til decimaleksponentnotationen A eller a Konverterer flydende nummer til den hexadecimale eksponent G eller g Konverterer flydende nummer til enten decimal- eller decimaleksponentnotation n Returnerer antallet af tegn, der hidtil er skrevet af dette opkald, til funktionen. Resultatet skrives til den værdi, som argumentet peger på s Skriver en implementeringsdefineret tegnsekvens, der definerer en markør. Så det generelle format for formatspecifikator er:
%(flags)(width)(.precision)(length)specifier
- …: Andre yderligere argumenter, der specificerer de data, der skal udskrives. De forekommer i en sekvens i henhold til formatspecifikatoren.
fprintf () Returværdi
Hvis det lykkes, fprintf()
returnerer funktionen antallet af tegn, der er skrevet. Ved fejl returnerer den en negativ værdi.
Eksempel: Sådan fungerer 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; )
Når du kører programmet, oprettes en fil "eksempel.txt" (hvis den ikke allerede findes), og den indeholder følgende streng:
Top 5 programmeringssprog 1. C 2. C ++ 3. Java 4. Python 5. PHP