A função fflush () em C ++ libera todos os dados do buffer para o respectivo dispositivo.
Os dados em buffer são os dados temporários ou específicos do aplicativo armazenados na memória física do computador até um determinado momento.
A função fflush () é definida no arquivo de cabeçalho.
protótipo fflush ()
int fflush (FILE * stream);
Se stream for um stream de saída ou stream de atualização cuja última operação foi produzida, chamar a função fflush () gravará quaisquer dados não gravados armazenados no dispositivo de saída associado.
Se stream for um ponteiro nulo, todos os streams de saída abertos serão liberados.
O comportamento é indefinido para fluxos de entrada e fluxos de atualização cuja última operação foi inserida.
Parâmetros fflush ()
- stream: o stream a ser liberado.
fflush () Valor de retorno
A função fflush () retorna:
- Zero em sucesso.
- EOF em caso de falha e define o indicador de erro do fluxo de arquivos.
Exemplo: Como funciona a função fflush ()?
#include #include int main() ( int x; char buffer(1024); setvbuf(stdout, buffer, _IOFBF, 1024); printf("Enter an integer - "); fflush(stdout); scanf("%d",&x); printf("You entered %d", x); return(0); )
Quando você executa o programa, a saída será:
Insira um número inteiro - 2 Você inseriu 2
No programa acima, tente remover a linha fflush(stdout)
e execute o programa para ver o efeito de fflush. A string "Digite um inteiro -" não será gravada na tela a menos que seja liberada.