Лекція 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>, містить наступні поля.
На відміну від обміну з потоками, функції нижнього рівня здійснюють небуферизуємий і неформатовиний обмін і безпосередньо викликають засоби обміну операційної системи. Як відзначалося, на нижньому рівні з файлом зв'язується його дескриптор. Інтерфейсним для функції нижнього рівня є файл, який потрібно підключити до відповідної до програми.
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання
Вирівнювання тексту
Ширина абзацу