fflush(3)

NUME
fflush - golește un flux

BIBLIOTECA
Biblioteca C standard (libc, -lc)

REZUMAT
#include <stdio.h>

int fflush(FILE *_Nullable stream);

DESCRIERE
Pentru fluxurile de ieșire, fflush() forțează scrierea tuturor datelor din memoria tampon din spațiul utilizatorului pentru ieșirea dată sau actualizează stream prin intermediul funcției de scriere de bază a fluxului.

Pentru fluxurile de intrare asociate cu fișiere care pot fi căutate (de exemplu, fișiere pe disc, dar nu conducte sau terminale), fflush() elimină toate datele stocate în memoria tampon care au fost preluate din fișierul de bază, dar care nu au fost consumate de aplicație.

Starea deschisă a fluxului nu este afectată.

Dacă argumentul stream este NULL, fflush() golește toate fluxurile de ieșire deschise.

Pentru varianta corespondentă fără blocare, a se vedea unlocked_stdio(3).

VALOAREA RETURNATĂ
La finalizarea cu succes, se returnează 0. În caz contrar, se returnează EOF (sfârșit de fișier), iar errno este configurată pentru a indica eroarea.

ERORI

EBADF
    stream nu este un flux deschis sau nu este deschis pentru scriere.

Funcția fflush() poate, de asemenea, să eșueze și să configureze errno pentru oricare dintre erorile specificate pentru write(2).

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
fflush() | Siguranța firelor | MT-Safe

STANDARDE
C11, POSIX.1-2008.

ISTORIC
C89, POSIX.1-2001, POSIX.1-2008.

POSIX.1-2001 nu a specificat comportamentul pentru golirea fluxurilor de intrare, dar acest comportament este specificat în POSIX.1-2008.

NOTE
Rețineți că fflush() golește numai memoriile tampon din spațiul utilizatorului furnizate de biblioteca C. Pentru a se asigura că datele sunt stocate fizic pe disc, memoriile tampon ale nucleului trebuie să fie și ele golite, de exemplu, cu sync(2) sau fsync(2).

CONSULTAȚI ȘI
fsync(2), sync(2), write(2), fclose(3), fileno(3), fopen(3), fpurge(3), setbuf(3), unlocked_stdio(3)

TRADUCERE
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.