Estados de secuenciaStream States

En la siguiente ilustración se muestran los estados válidos y las transiciones de estado de una secuencia.The valid states, and state transitions, for a stream are shown in the following figure.

Diagrama de estado de flujoStream state diagram

Cada uno de los círculos indica un estado estable.Each of the circles denotes a stable state. Cada una de las líneas indica una transición que se puede producir como resultado de una llamada de función que opera en la secuencia.Each of the lines denotes a transition that can occur as the result of a function call that operates on the stream. Hay cinco grupos de funciones que pueden provocar transiciones de estado.Five groups of functions can cause state transitions.

Las funciones de los tres primeros grupos se declaran en <stdio.h> :Functions in the first three groups are declared in <stdio.h>:

Las funciones de los dos grupos restantes se declaran en <wchar.h> :Functions in the remaining two groups are declared in <wchar.h>:

El diagrama de estado muestra que debe llamar a una de las funciones de posición entre la mayoría de las operaciones de lectura y escritura:The state diagram shows that you must call one of the position functions between most write and read operations:

  • No puede llamar a una función de lectura si la última operación del flujo es una operación de escritura.You cannot call a read function if the last operation on the stream was a write.

  • No puede llamar a una función de escritura si la última operación del flujo es una operación de lectura, a menos que la operación de lectura establezca el indicador de fin de archivo.You cannot call a write function if the last operation on the stream was a read, unless that read operation set the end-of-file indicator.

Por último, el diagrama de estado muestra que una operación de posición nunca disminuye el número de llamadas de función válidas que le pueden seguir.Finally, the state diagram shows that a position operation never decreases the number of valid function calls that can follow.

Consulta tambiénSee also

Archivos y secuenciasFiles and Streams