Estados de fluxo

Os estados válidos e transições de estado para um fluxo são mostrados na figura a seguir.

Diagrama de estado de fluxo.

Cada um dos círculos indica um estado estável. Cada uma das linhas denota uma transição que pode ocorrer como resultado de uma chamada de função que opera no fluxo. Cinco grupos de funções podem causar transições de estado.

Funções nos três primeiros grupos são declaradas no <stdio.h>:

Funções em dois grupos restantes são declaradas no <wchar.h>:

O diagrama de estado mostra que você deve chamar uma das funções de posição entre a maioria das operações de leitura e gravação:

  • Você não pode chamar uma função de leitura se a última operação no fluxo foi uma gravação.

  • Você não poderá chamar uma função de gravação se a última operação no fluxo tiver sido uma leitura, a menos que essa operação de leitura defina o indicador de fim de arquivo.

Por fim, o diagrama de estado mostra que uma operação de posição nunca diminui o número de chamadas de função válido que pode seguir.

Confira também

Arquivos e fluxos