Лекція 15. Керування буферізацією

4. Інші функції обробки потоків

Для роботи з потоками можна використовувати й деякі інші функції. Для визначення кінця файлу призначена функція:

int feof (FILE *stream), яка передає нуль, якщо досягнуто кінець файлу при спробі прочитати символ, що випливає за останнім. Інакше її значення не нуль. 

int ferror (FILE *stream) дозволяє встановити причину помилки читання або запису. Якщо 0 - помилки не було. Якщо трапилася помилка, то внутрішній індикатор помилки файлу буде встановлено доти, поки потік не буде закритим або rewind, або clearrer.

Змінити назву файлу можна за допомогою функції:

int rename (char *oldname, char *newname) і поміняти oldname на нову назву newname. Якщо така процедура здійснилася успішно, то функція передає нуль. Цю функцію можна використовувати для запису файлу до іншого каталогу, але в межах одного обладнання.

 void rewind (stream), або void clearerr(stream) - яка записує в внутрішній індикатор помилки файлу нуль. Це ж здійснюється й при закритті потоку.

Знищити файл можна за допомогою функції:

int remove (const char *filename). Наступна спроба відкрити файл із таким іменем буде помилкою.

int fstat(handle,buffer) - одержує інформацію про відкритий файл, пов’язаний з даним handle, і запам'ятовує її в структурі, на яку вказує buffer.

buffer - структура, тип stat якої оголошений в <sys.h \ stat.h>, містить наступні поля.

На відміну від обміну з потоками, функції нижнього рівня здійснюють небуферизуємий і неформатовиний обмін і безпосередньо викликають засоби обміну операційної системи. Як відзначалося, на нижньому рівні з файлом зв'язується його дескриптор. Інтерфейсним для функції нижнього рівня є файл, який потрібно підключити до відповідної до програми.

Доступність

Шрифти Шрифти

Розмір шрифта Розмір шрифта

1

Колір тексту Колір тексту

Колір тла Колір тла

Кернінг шрифтів Кернінг шрифтів

Видимість картинок Видимість картинок

Інтервал між літерами Інтервал між літерами

0

Висота рядка Висота рядка

1.2

Виділити посилання Виділити посилання

Вирівнювання тексту Вирівнювання тексту

Ширина абзацу Ширина абзацу

0