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

Див. також ред.

Посилання ред.