C ++ ungetwc () - C ++ standardraamatukogu

Funktsioon ungetwc () C ++ -is surub varem loetud laia märgi voogu tagasi, et seda saaks uuesti lugeda.

Funktsioon ungetwc () on määratletud päisefailis.

ungetwc () prototüüp

 wint_t ungetwc (wint_t ch, FILE * voog);

Funktsioon ungetwc () lükkab laia märgi ch tagasi failivooga seotud puhvrisse, kui ch pole võrdne WEOF-ga. Kui ch on võrdne WEOF-iga, ebaõnnestub toiming ja voos pole muudatusi.

Kõne ungetwc () -le võib ebaõnnestuda, kui seda kutsutakse rohkem kui üks kord, ilma et keskel oleks lugemis- või ümberpaigutamistoiminguid.

Kui kõne ungetwc () -le on õnnestunud, kustutatakse faili oleku lipu lõpp.

Nii teksti kui ka binaarse voo korral muudab edukas kõne ungetwc-le voo asukoha indikaatorit täpsustamata viisil. Kuid on tagatud, et pärast seda, kui kõik tagasilükatud tähemärgid on lugemisoperatsiooniga kätte saadud, võrdub vooasendi indikaator selle väärtusega enne ungetwc () kutsumist.

ungetwc () parameetrid

  • ch: lai iseloom tuleb tagasi lükata.
  • voog: failivoog, kus lai tegelane lükatakse tagasi.

ungetwc () Tagastusväärtus

  • Edu korral tagastab funktsioon ungetwc () märgi ch.
  • Rikke korral tagastatakse WEOF voogu muutmata.

Näide: kuidas funktsioon ungetwc () töötab?

 #include #include #include #include #include using namespace std; int main() ( setlocale(LC_ALL, "en_US.UTF-8"); wint_t c; long value = 0; wchar_t str() = L"u0037u0031u0039u00b6u03ee"; FILE *fp = fopen("file.txt", "r+"); fputws(str,fp); rewind(fp); while(1) ( c = fgetwc(fp); if (iswdigit(c)) value = value*10 + c - L'0'; else break; ) ungetwc(c, fp); cout << "Value = " << value << endl; fclose(fp); return 0; )

Programmi käivitamisel on võimalik väljund:

 Väärtus = 719

Huvitavad Artiklid...