Stdio.h

Ця стаття має кілька недоліків. Будь ласка, допоможіть удосконалити її або обговоріть ці проблеми на сторінці обговорення.
Ця стаття не містить посилань на джерела. Ви можете допомогти поліпшити цю статтю, додавши посилання на надійні (авторитетні) джерела. Матеріал без джерел може бути піддано сумніву та вилучено. (червень 2011)
Ця стаття містить текст, що не відповідає енциклопедичному стилю. Будь ласка, допоможіть удосконалити цю статтю, погодивши стиль викладу зі стилістичними правилами Вікіпедії. Можливо, сторінка обговорення містить зауваження щодо потрібних змін. (червень 2011)

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;  /* Стандартний потік виводу повідомлень про помилки */

Див. також

  • Підтримка великих файлів

Посилання

  • stdio(3) – сторінка довідки man про бібліотечні функції GNU/Linux (англ.)
  • stdio.h [Архівовано 14 листопада 2012 у Wayback Machine.] на сайті cplusplus.com


PROG Це незавершена стаття про програмування.
Ви можете допомогти проєкту, виправивши або дописавши її.