Индикатор - конец - файл - Большая Энциклопедия Нефти и Газа, статья, страница 2
Пойду посплю перед сном. Законы Мерфи (еще...)

Индикатор - конец - файл

Cтраница 2


Открываемый поток полностью буферизуется в том и только в том случае, если он не относится к интерактивному устройству. Индикаторы конца файла и ошибки в открываемом потоке очищаются. Функция fopen возвращает указатель на объект, управляющий этим потоком. Если попытка открыть файл закончилась неудачей, fopen возвращает нулевой указатель.  [16]

Функция fsetpos устанавливает индикатор позиции файла для потока, указываемого stream, в соответствии со значением объекта, указываемого pos, которое должно быть значением, полученным от более раннего вызова функции fgetpos для данного потока. Успешный вызов функции fsetpos очищает индикатор конца файла для потока и устраняет все последствия вызовов для него функции ungetc. После вызова fsetpos следующей операцией на обновляемом потоке может быть как ввод, так и вывод. В случае успеха функция fsetpos возвращает ноль; при отказе функция fsetpos возвращает ненулевое значение и передает определяемое реализацией положительное значение в еггпо.  [17]

Функция fsetpos устанавливает значение индикатора текущей позиции файла в потоке, на который указывает stream, в соответствии со значением объекта, на который ссылается параметр pos и которое должно быть получено в результате предшествующего вызова функции fgetpos для того же потока. Успешный вызов функции fsetpos очищает индикатор конца файла для потока и отменяет результаты вызова функции ungetc для того же потока.  [18]

Функция feof проверяет индикатор конца файла для потока, указанного stream. Функция feof возвращает ненулевое значение тогда и только тогда, когда индикатор конца файла для stream установлен.  [19]

Чтобы прочесть файл, DOS находит номер начального кластера в каталоге и затем просматривает FAT в поисках элемента начального кластера. Если весь файл помещен в одном кластере, элемент FAT содержит индикатор конца файла. В противном случае элемент FAT указывает номер следующего кластера, содержащего часть файла. DOS просматривает соответствующие элементы FAT, пока не встретит индикатор конца файла. Система хранения DOS позволяет сохранять файлы в смежных кластерах или фрагментами по всему диску. Каждый фрагмент имеет длину в один кластер, FAT содержит указатель, с помощью которого DOS может собрать все части.  [20]

21 Структура раздела FAT. [21]

Когда системе нужен какой-то файл, она находит его стартовый кластер по имени файла в каталоге их размещения и затем просматривает FAT в поисках элемента списка, соответствующего начальному кластеру. Если весь файл помещен в одном кластере, то элемент FAT содержит индикатор конца файла. Если файл занимает несколько кластеров, элемент FAT указывает номер следующего кластера, в котором должно находиться продолжение файла, либо признак его окончания. В сущности, FAT содержит цепочки ссылок, следуя по которым можно найти размещение каждого файла на диске.  [22]

Функция feof проверяет состояние индикатора конца файла для потока, на который ссылается stream. Функция feof возвращает ненулевое значение в том и только в том случае, если индикатор конца файла для этого потока показывает конец файла.  [23]

Функция возвращает ненулевое значение ( true), если индикатор конца файла установлен, в противном случае возвращается нуль. В данной программе цикл while, включающий в себя вызов feof, будет продолжать выполняться, пока не будет установлен индикатор конца файла.  [24]

Существует несколько способов переадресации ввода / вывода из командной строки UNIX. Рассмотрим исполняемый файл sum, который вводит по одному целые числа и сохраняет значение суммы введенных величин до тех пор, пока не будет установлен индикатор конца файла, после чего распечатывает результат. Обычно пользователь вводит числа с клавиатуры и вводит комбинацию конца файла, чтобы показать, что ввод данных окончен. При переадресации ввода данные, которые необходимо ввести, можно взять из файла.  [25]

26 Применение strtoul ( часть 2 из 2.| Символьные и строковые функции стандартной библиотеки ввода / вывода Хороший стиль программирования. [26]

Программа, приведенная на рис. 8.13, использует функции gets и putchar для чтения строки текста со стандартного входного устройства ( клавиатуры) и рекурсивно выводит символы строки в обратном порядке. Функция gets читает символы со стандартного входного устройства и передает их своему аргументу - массиву типа char - до тех пор, пока не встретит символ новой строки или индикатор конца файла. Символ NULL ( 0) добавляется в массив после окончания считывания. Функция putchar печатает свой аргумент - символ. Для печати строки текста в обратном порядке программа рис. 8.13 вызывает рекурсивную функцию reverse. Если первый символ массива, полученный функцией reverse, является нулевым символом 0, то следует возврат из функции.  [27]

Устанавливает номер канала / х для устройства с названием S. Канал работает в режиме / 2; / з обозначает выделение буферов ввода; / 4 - выделение буферов вывода; / 5 есть максимальное число символов, читаемых при одном запросе на ввод; Vt - описатель разделительного индикатора; У2 - индикатор конца файла. Файл с именем S связывается с каналом / для чтения. OPEN) для канала /, отсутствует такой файл.  [28]

Функция freopen сначала пытается закрыть файл, который связан с заданным потоком. Если закрытие файла произошло с ошибкой, то она игнорируется. Индикаторы конца файла и ошибки открываемого потока очищаются. В случае неудачного открытия файла freopen возвращает нулевой указатель.  [29]

Есть и другой способ обработки конца файла, при котором можно обойтись без этого лишнего ЕСЛИ. Он заключается в чтении одной записи еще при осуществлении начальных действий. Тогда основной цикл состоит из обработки прочитанной записи, за которой следует программа чтения следующей записи. Цикл по-прежнему управляется индикатором конца файла. Поскольку предложение ЧИТАТЬ: - л ершает цикл, а конструкция В КОНЦЕ включает индикатор, он будет проверяться до обработки очередной записи в предложении ВЫПОЛНИТЬ...  [30]



Страницы:      1    2    3