C ++ fprintf () - C ++ standardraamatukogu

Funktsiooni fprintf () kaustas C ++ kasutatakse vormindatud stringi kirjutamiseks failivoogu.

fprintf () prototüüp

 int fprintf (FILE * voog, const char * formaat,…);

fprintf()Funktsioon kirjutab stringi osutas poolt formaadis stream oja. Stringi formaat võib sisaldada formaadispetsifikaate, mis algavad% -ga ja mis asendatakse fprintf()funktsiooniga täiendavate argumentidena edastatavate muutujate väärtustega .

See on määratletud päisefailis.

fprintf () parameetrid

  • voog: kursor väljundfailivoogu, kuhu sisu on kirjutatud.
  • formaat: kursor nulliga lõpetatud stringi jaoks, mis kirjutatakse failivoogu. See koosneb märkidest koos valikuliste vorminguspetsifikaatoritega, mis algavad% -ga.

    Vorminguspetsifikaatorid asendatakse vastavate muutujate väärtustega, mis järgivad vormindusstringi.

    Vorminguspetsiifil on järgmised osad:

    • Juhtiv% märk
    • Lipud: valikuliselt üks või mitu lippu, mis muudab konversioonikäitumist.
      • -: vasakpoolne põhjendab tulemust väljal. Vaikimisi on see õigustatud.
      • +: Tulemuse märk kinnitatakse väärtuse algusesse ka positiivsete tulemuste korral.
      • Tühik: kui märki pole, lisatakse tulemuse algusesse tühik.
      • #: Teostatakse teisenduse alternatiivne vorm.
      • 0: Seda kasutatakse täis- ja ujukomaarvuks. Numbrite sisestamiseks tühiku asemel kasutatakse juhtnulle.
    • Laius: valikuline * või täisarv, mida kasutatakse minimaalse laiuse välja määramiseks.
    • Täpsus: valikuline väli, mis koosneb a. millele järgneb * või täisarv või mitte midagi täpsuse täpsustamiseks.
    • Pikkus: valikuline pikkuse muutja, mis määrab argumendi suuruse.
    • Täpsustaja: teisendusvormingu täpsustaja. Saadaval olevad vorminguspetsifikaatorid on järgmised:
      Vorminguspetsifikaator Kirjeldus
      % Prindib%
      c Kirjutab ühe tähemärgi
      s Kirjutab märgistringi
      d või i Teisendab allkirjastatud täisarv kümnendarvudeks
      o Teisendab allkirjata täisarv kaheksakujuliseks
      X või x Teisendab allkirjastamata täisarv kuueteistkümnendsüsteemis
      u Teisendab allkirjata täisarv kümnendarvudeks
      F või f Teisendab ujukoma numbri kümnendarvuks
      E või e Teisendab ujukomaarv kümnendkoha astendikuks
      A või a Teisendab ujukomaarv kuueteistkümnendsüsteemi eksponendiks
      G või g Teisendab ujukomaarvu kümnend- või kümnendarvulise astendina
      n Tagastab selle kutsega seni kirjutatud märkide arvu funktsioonile. Tulemus kirjutatakse väärtusele, millele argument osutab
      lk Kirjutab kursori määratleva rakenduse määratletud märgijada.

      Seega on vorminguspetsifikaatori üldine vorming: %(flags)(width)(.precision)(length)specifier

  • …: Muud täiendavad argumendid, mis täpsustavad prinditavaid andmeid. Need esinevad järjestuses vastavalt vorminguspetsifikaatorile.

fprintf () Tagastusväärtus

Kui see õnnestub, fprintf()tagastab funktsioon kirjutatud märkide arvu. Ebaõnnestumisel tagastab negatiivse väärtuse.

Näide: kuidas funktsioon fprintf () töötab

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

Programmi käivitamisel luuakse fail "example.txt" (kui seda veel pole) ja see sisaldab järgmist stringi:

 5 parimat programmeerimiskeelt 1. C 2. C ++ 3. Java 4. Python 5. PHP

Huvitavad Artiklid...