C ++ fprintf () - C ++ - vakiokirjasto

C ++: n fprintf () -funktiota käytetään muotoilun merkkijonon kirjoittamiseen tiedostovirtaan.

fprintf () -prototyyppi

 int fprintf (FILE * virta, const char * muoto,…);

fprintf()Toiminto kirjoittaa merkkijonoa osoitteen sivulle muodossa stream stream. Merkkijonomuoto voi sisältää% -alkuiset muotoilut, jotka korvataan fprintf()funktiolle lisäargumentteina välitettävien muuttujien arvoilla .

Se määritetään otsikkotiedostossa.

fprintf () -parametrit

  • virta: Osoitin ulostulotiedostovirtaan, johon sisältö kirjoitetaan.
  • muoto: Osoitin nollan päättyneelle merkkijonolle, joka kirjoitetaan tiedostovirtaan. Se koostuu merkeistä ja valinnaisista muotoilun määrittelijöistä, jotka alkavat%: lla.

    Formaatin määrittelijät korvataan vastaavien muuttujien arvoilla, jotka seuraavat muotomerkkijonoa.

    Formaatin määrittelijässä on seuraavat osat:

    • Johtava% -merkki
    • Liput: Valinnainen yksi tai useampi lippu, joka muuttaa konversiokäyttäytymistä.
      • -: Vasen tasaa tuloksen kentässä. Oletuksena se on oikein perusteltu.
      • +: Tuloksen merkki liitetään arvon alkuun, myös positiivisten tulosten saamiseksi.
      • Välilyönti: Jos merkkiä ei ole, tuloksen alkuun kiinnitetään välilyönti.
      • #: Vaihtoehtoinen muunnos suoritetaan.
      • 0: Sitä käytetään kokonaislukuun ja liukulukuihin. Numeroita käytetään välilyöntien sijasta etunollia.
    • Leveys: Valinnainen * tai kokonaislukuarvo, jota käytetään minimileveyskentän määrittämiseen.
    • Tarkkuus: Valinnainen kenttä, joka koostuu a. jota seuraa * tai kokonaisluku tai ei mitään tarkkuuden määrittämiseksi.
    • Pituus: Valinnainen pituuden muuttaja, joka määrittää argumentin koon.
    • Määritin: Muunnosmuodon määrittelijä. Saatavilla olevat muotomäärittimet ovat seuraavat:
      Formaatin määrittelijä Kuvaus
      % Tulosteet%
      c Kirjoittaa yhden merkin
      s Kirjoittaa merkkijonon
      d tai i Muuntaa allekirjoitetun kokonaisluvun desimaaliedustukseksi
      o Muuntaa allekirjoittamattoman kokonaisluvun oktaaliedustukseksi
      X tai x Muuntaa allekirjoittamattoman kokonaisluvun heksadesimaaliluvuksi
      u Muuntaa allekirjoittamattoman kokonaisluvun desimaaliedustukseksi
      F tai f Muuntaa liukuluvun desimaaliluvuksi
      E tai e Muuntaa liukuluvun desimaalilausekkeeksi
      A tai a Muuntaa liukuluvun luvun heksadesimaalilausekkeeksi
      G tai g Muuntaa liukuluvun desimaalin tai desimaalin eksponenttimerkinnäksi
      n Palauttaa tämän kutsun tähän mennessä kirjoittamien merkkien määrän funktioon. Tulos kirjoitetaan argumentin osoittamaan arvoon
      s Kirjoittaa toteutuksessa määritetyn merkkijonon, joka määrittelee osoittimen.

      Joten muodon määrittelijän yleinen muoto on: %(flags)(width)(.precision)(length)specifier

  • …: Muut lisäväitteet, jotka määrittelevät tulostettavat tiedot. Ne esiintyvät järjestyksessä muodon määrittelijän mukaan.

fprintf () Palautusarvo

Jos se onnistuu, fprintf()funktio palauttaa kirjoitettujen merkkien määrän. Epäonnistumisen yhteydessä se palauttaa negatiivisen arvon.

Esimerkki: Kuinka funktio fprintf () toimii

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

Kun suoritat ohjelmaa, luodaan tiedosto "example.txt" (jos sitä ei vielä ole) ja se sisältää seuraavan merkkijonon:

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

Mielenkiintoisia artikkeleita...