Лекція 15. Керування буферізацією
3. Текстовий та двійковий режим обміну
Можна відкривати потік у текстовому або двійковому режимі. Але ці режими мають певні особливості.
У текстовому режимі при введенні комбінація символів "повернути каретку - перевести строку" (\015 \012) перетвориться в один символ - перевести рядок. При висновку символ "перевести строку" перетвориться у два: \015, \012. Крім того, комбінація клавіш Ctrl+z (0х1а) сприймається як кінець файлу при висновку.
У двійковому режимі перетворення символів "ПК - ПС" не здійснюється.
Режим обміну з потоком можна змінювати після його відкриття. Для цього призначена функція нижнього рівня setmode. Як відзначалося на рівні потоків функції використовують покажчик потоку.
На нижньому рівні використовується інше поняття - дескриптор файлу (handle). Це є ціле число, яке зв'язується з файлом і використовується для посилань на даний файл. Так стандартні потоки stdin, stdout, stderr, stdaux, stdprn мають відповідні дескриптори 0,1,2,3,4.
int setmode (int handle, unsigned mode);( якщо функція повертає 0 - нормально, інакше –1)
handle – дескриптор файла, mode – режим.
Режим задається двома константами в файле <fcntl.h> O_BINARY двійковий
O_TEXT текстовий.
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання
Вирівнювання тексту
Ширина абзацу