Поделиться через


Состояния потока

Допустимые состояния и переходы состояний для потока показаны на следующем рисунке.

Поток

Каждый из кругов обозначает устойчивое состояние. Каждая из линий задает переход, который может возникать в результате вызова функции, которая работает в потоке. Пять групп функций могут вызвать переходы состояний.

Функции в первых трех группах объявлены в <stdio.h>:

Функции в оставшихся двух группах объявлены в <wchar.h>:

Схема состояний показывает, что необходимо вызвать одну из функций позиционирования между большинством операций записи и чтения:

  • Невозможно вызвать функцию чтения, если последняя операция в потоке была операцией записи.

  • Невозможно вызвать функцию записи, если последняя операция в потоке была операцией чтения, если только операция чтения не установила индикатор конца файла.

Наконец, схема состояний показывает, что операция позиционирования никогда не уменьшает число допустимых вызовов функций, которые могут следовать далее.

См. также

Ссылки

Файлы и потоки