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:
#incluirDigite 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 ():
#incluirCompilar 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.