C ++ fprintf () - C ++ standaardbibliotheek

De functie fprintf () in C ++ wordt gebruikt om een ​​opgemaakte string naar de bestandsstroom te schrijven.

fprintf () prototype

 int fprintf (FILE * stream, const char * format, …);

De fprintf()functie schrijft de string waarnaar het formaat verwijst naar de stream-stream. Het tekenreeksformaat kan opmaakspecificaties bevatten die beginnen met%, die worden vervangen door de waarden van variabelen die fprintf()als aanvullende argumenten aan de functie worden doorgegeven .

Het wordt gedefinieerd in het header-bestand.

fprintf () Parameters

  • stream: Pointer naar een outputbestand-stream waar de inhoud naar wordt geschreven.
  • format: Pointer naar een met null beëindigde string die naar de bestandsstroom wordt geschreven. Het bestaat uit tekens samen met optionele indelingsspecificaties die beginnen met%.

    De formaatspecificaties worden vervangen door de waarden van de respectievelijke variabelen die volgen op de formaatreeks.

    De formaatspecificatie heeft de volgende onderdelen:

    • Een toonaangevend% -teken
    • Vlaggen: Optioneel een of meer vlaggen die het conversiegedrag wijzigen.
      • -: Links uitvullen van het resultaat binnen het veld. Standaard is het goed gerechtvaardigd.
      • +: Het teken van het resultaat wordt aan het begin van de waarde gehecht, zelfs voor positieve resultaten.
      • Spatie: als er geen teken is, wordt er een spatie aan het begin van het resultaat toegevoegd.
      • #: Er wordt een alternatieve vorm van conversie uitgevoerd.
      • 0: Het wordt gebruikt voor integer en drijvende-kommagetallen. Voorloopnullen worden gebruikt om de cijfers in plaats van de spatie te vullen.
    • Breedte: een optionele * of geheel getal die wordt gebruikt om een ​​veld met een minimale breedte op te geven.
    • Precisie: een optioneel veld bestaande uit een. gevolgd door * of geheel getal of niets om de precisie te specificeren.
    • Lengte: een optionele lengtemodificator die de grootte van het argument aangeeft.
    • Specifier: een specificatie van het conversieformaat. De beschikbare formaatspecificaties zijn als volgt:
      Formaatspecificatie Omschrijving
      % Afdrukken%
      c Schrijft een enkel teken
      s Schrijft een tekenreeks
      d of i Converteert een geheel getal met teken naar een decimale weergave
      O Converteert een geheel getal zonder teken naar een octale weergave
      X of x Converteert een geheel getal zonder teken naar een hexadecimale weergave
      u Converteert een geheel getal zonder teken naar een decimale weergave
      F of f Converteert een getal met een drijvende komma naar de decimale weergave
      E of e Converteert een getal met een drijvende komma naar de decimale exponentnotatie
      A of een Converteert drijvende-kommagetal naar de hexadecimale exponent
      G of g Converteert drijvende-kommagetal naar decimale of decimale exponentnotatie
      n Retourneert het aantal tekens dat tot dusver door deze aanroep naar de functie is geschreven. Het resultaat wordt geschreven naar de waarde waarnaar het argument verwijst
      p Schrijft een door de implementatie gedefinieerde tekenreeks die een pointer definieert.

      Dus het algemene formaat van de formaatspecificatie is: %(flags)(width)(.precision)(length)specifier

  • …: Andere aanvullende argumenten die de gegevens specificeren die moeten worden afgedrukt. Ze komen voor in een reeks volgens de formaatspecificatie.

fprintf () Retourwaarde

Als dit lukt, fprintf()retourneert de functie het aantal geschreven tekens. Bij een storing wordt een negatieve waarde geretourneerd.

Voorbeeld: hoe de functie fprintf () werkt

 #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; )

Wanneer u het programma start, wordt er een bestand "example.txt" aangemaakt (als dit nog niet bestaat) en het bevat de volgende string:

 Top 5 programmeertaal 1. C 2. C ++ 3. Java 4. Python 5. PHP

Interessante artikelen...