stdio.h (від англ. standard input/output header — заголовний файл стандартного вводу/виводу) — заголовний файл стандартної бібліотеки мови С, що містить визначення макросів, констант та оголошення функцій і типів, призначених для виконання операцій введення і виведення.
C++ заради сумісності також використовує stdio.h
поряд зі схожим за функціональністю заголовним файлом cstdio
, хоча більшою популярністю користується бібліотека <iostream>
.
Стандартна бібліотека вводу/виводу оперує потоками і приховує деталі апаратної реалізації. Потоки асоціюються з файлами, які можуть бути блоками інформації на носіях чи відповідати за фізичні пристрої, наприклад, клавіатуру, дисплей, послідовний або паралельний порт. Як і інші частини стандартної бібліотеки мови Сі, оголошені в stdio.h
функції вельми популярні завдяки тому, що гарантують роботу на майже будь-якій платформі, яка підтримує Сі. Втім, програми на окремих платформах можуть мати причини для використання функцій введення/виведення самої платформи замість функцій stdio.h
.
В заголовному файлі stdio.h
визначено наступні типи даних:
FILE
— структура, яка містить інформацію про файл (потік), необхідну для виконання операцій введення і виведення, включаючи:
fpos_t
— тип, призначений для збереження та відновлення інформації про поточну позицію та стан потоку.Функції стандартного вводу/виводу також використовують тип size_t — беззнакових цілий тип, що є типом результату виконання оператора отримання розміру об'єкта sizeof
та визначений у заголовному файлі stddef.h.
Оскільки реалізація потоків залежить від платформи, програміст не повинен працювати безпосередньо з полями об'єктів типів FILE
та fpos_t
і не повинен робити припущень щодо їх внутрішньої організації. Вказівник на екземпляр структури типу FILE
виконує роль унікального ідентифікатора потоку, з яким працюють функції бібліотеки. У файлі stdio.h
оголошено три змінних — вказівники на структури типу FILE
для стандартних потоків, які відповідають дескрипторам 1, 2 та 3 відповідно:
extern struct FILE *stdin; /* Стандартний потік вводу */
extern struct FILE *stdout; /* Стандартний потік виводу */
extern struct FILE *stderr; /* Стандартний потік виводу повідомлень про помилки */
Це незавершена стаття про програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |