Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Os estados válidos e transições de estado para um fluxo são mostrados na figura a seguir.

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>:
As funções
fgetcde leitura de byte: ,fgets,fscanffreadgetchargetc,gets, , escanfungetcAs funções
fprintfde gravação de byte: ,fputc,fwritefputsputcprintf, ,putchar, ,puts, , evfprintfvprintf
Funções em dois grupos restantes são declaradas no <wchar.h>:
As funções de leitura ampla:
fgetwc,fgetws,fwscanf,getwchargetwc, ,ungetwcewscanf,As funções de gravação largas:
fwprintf,fputwc,fputws,putwcputwchar, ,vfwprintf,vwprintfewprintf,
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.