Como usar a função fflush na programação C

Como usar a função fflush na programação C
A função fflush () é a abreviação do "buffer de arquivo de descarga", pois fica claro em seu nome que sua função é limpar algum conteúdo. Na programação C, é usado para limpar o buffer para que o fluxo de saída (stdout) possa exibir a saída.

Neste artigo, explicaremos a função fflush () na programação C com a ajuda de exemplos.

O que é função fflush () na programação C

Antes de entender o fflush (), entenderemos o que é um buffer? Vamos considerar um exemplo; Estamos assistindo a uma temporada na Netflix, a Netflix buffer continuamente o conteúdo do vídeo pelos próximos minutos, para que você não precise esperar que o vídeo seja carregado, esse download é conhecido como buffer. Na programação de C, o buffer funciona da mesma maneira. Os valores armazenados no buffer podem se tornar o motivo de resultados inesperados.

Para limpar o buffer, usamos a função fflush (). Vamos considerar um exemplo:

#incluir
int main ()
fprintf (stdout, "Isso é Linuxhint. ");
fprintf (stderr, "isso é sobre fflush (). ");
fprintf (stdout, "Isso é explicado usando a programação C. \ n ");
retornar 0;

Digite o código no arquivo de texto, testFile.C, e depois compilar esse arquivo usando um compilador, pois estamos usando o Linux, para compilar o arquivo usando o compilador GCC:

$ GCC TestFile.C -O TestFile

O arquivo foi compilado sem erros e avisos, então executaremos o código acima

$ ./TestFile

A saída do arquivo acima não é esperado, o "é Linuxhint.”Deve ser impresso antes do“ isto é sobre fflush () ”, mas isso não aconteceu. Como o "stdout" é por padrão um buffer, para armazenar os valores no buffer temporário, enquanto o stderr não é tamponado, por isso exibiu a saída imediatamente, e o stdout exibirá a saída de seu arquivo da memória do buffer quando o programa termina ou o novo Terminator de linha ("\ n") é usado.

De acordo com isso, a saída é exibida na ordem inesperada, para imprimi -la de uma maneira classificada, usaremos a função ffllush ():

#incluir
int main ()
fprintf (stdout, "Isso é Linuxhint. ");
fflush (stdout);
fprintf (stderr, "isso é sobre fflush (). ");
fprintf (stdout, "Isso é explicado usando a programação C. \ n ");
fflush (stdout);
retornar 0;

Compilar o arquivo usando o compilador GCC:

$ GCC TestFile.C -O TestFile

Execute o arquivo usando o comando:

$ ./TestFile

Agora os resultados são classificados porque o fflush () limpou a memória em buffer e exibiu a saída.

Conclusão

A função fflush () é usada para limpar a memória do buffer e exibir os resultados do OutputStream (stdout). Neste artigo, explicamos a função fflush () na programação C com a ajuda de exemplos. A função fflush () é recomendada para usar com o stdout porque o stdout é por padrão um buffer e salva seus dados na memória do buffer temporário.