<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-menu-disabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-os vector-sticky-header-enabled skin-theme-clientpref-thumb-standard" lang="uk" dir="ltr"><head>
    <meta charset="UTF-8">
    <title>Stdio.h</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" type="image/png" href="./_res_/favicon.png">
    <link rel="canonical" href="https://uk.wikipedia.org/wiki/Stdio.h"> <link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
    <meta name="ResourceLoaderDynamicStyles" content="">
    
    <link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
    <link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
    <link rel="stylesheet" type="text/css" href="./_res_/footer.css">
    <link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
  </head>
  <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Stdio_h rootpage-Stdio_h skin-vector-2022 action-view">
    <div class="mw-page-container">
      <div class="mw-page-container-inner">
        <div class="mw-content-container">
          <main id="content" class="mw-body">
            <header class="mw-body-header vector-page-titlebar">
              <h1 id="firstHeading" class="firstHeading mw-first-heading">stdio.h</h1>
            </header>
            <a id="top"></a>
            <div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
              <div id="contentSub">
                <div id="mw-content-subtitle"></div>
              </div>
              <div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="uk" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="uk" dir="ltr"><p><b>stdio.h</b> (від <a href="%D0%90%D0%BD%D0%B3%D0%BB%D1%96%D0%B9%D1%81%D1%8C%D0%BA%D0%B0_%D0%BC%D0%BE%D0%B2%D0%B0" title="Англійська мова">англ.</a> <i lang="en">standard input/output header</i>&nbsp;— заголовний файл стандартного вводу/виводу)&nbsp;— <a href="%D0%97%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BD%D0%B8%D0%B9_%D1%84%D0%B0%D0%B9%D0%BB" title="Заголовний файл">заголовний файл</a> стандартної бібліотеки <a href="C_(%D0%BC%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F)" title="C (мова програмування)">мови С</a>, що містить визначення <a href="%D0%9C%D0%B0%D0%BA%D1%80%D0%BE%D1%81" class="mw-redirect" title="Макрос">макросів</a>, констант та оголошення <a href="%D0%9F%D1%96%D0%B4%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%B0" title="Підпрограма">функцій</a> і <a href="%D0%A2%D0%B8%D0%BF_%D0%B4%D0%B0%D0%BD%D0%B8%D1%85" title="Тип даних">типів</a>, призначених для виконання операцій <a href="%D0%92%D0%B2%D1%96%D0%B4/%D0%B2%D0%B8%D0%B2%D1%96%D0%B4" title="Ввід/вивід">введення і виведення</a>.
</p><p><a href="C%2B%2B" title="C++">C++</a> заради сумісності також використовує <code>stdio.h</code> поряд зі схожим за функціональністю заголовним файлом <code>cstdio</code>, хоча більшою популярністю користується бібліотека <code>&lt;<a href="Iostream" title="Iostream">iostream</a>&gt;</code>.
</p><p>Стандартна бібліотека вводу/виводу оперує <a href="%D0%9F%D0%BE%D1%82%D1%96%D0%BA_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F)" title="Потік (програмування)">потоками</a> і приховує деталі <a href="%D0%90%D0%BF%D0%B0%D1%80%D0%B0%D1%82%D0%BD%D0%B5_%D0%B7%D0%B0%D0%B1%D0%B5%D0%B7%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%BD%D1%8F" title="Апаратне забезпечення">апаратної реалізації</a>. Потоки асоціюються з <a href="%D0%A4%D0%B0%D0%B9%D0%BB" title="Файл">файлами</a>, які можуть бути блоками інформації на <a href="%D0%9D%D0%BE%D1%81%D1%96%D0%B9_%D1%96%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D1%96%D1%97" class="mw-redirect" title="Носій інформації">носіях</a> чи відповідати за фізичні пристрої, наприклад, <a href="%D0%9A%D0%BB%D0%B0%D0%B2%D1%96%D0%B0%D1%82%D1%83%D1%80%D0%B0_%D0%BA%D0%BE%D0%BC%D0%BF'%D1%8E%D1%82%D0%B5%D1%80%D0%B0" class="mw-redirect" title="Клавіатура комп'ютера">клавіатуру</a>, <a href="%D0%94%D0%B8%D1%81%D0%BF%D0%BB%D0%B5%D0%B9" title="Дисплей">дисплей</a>, <a href="%D0%9F%D0%BE%D1%81%D0%BB%D1%96%D0%B4%D0%BE%D0%B2%D0%BD%D0%B8%D0%B9_%D0%BF%D0%BE%D1%80%D1%82" title="Послідовний порт">послідовний</a> або <a href="IEEE_1284" title="IEEE 1284">паралельний</a> порт. Як і інші частини стандартної бібліотеки мови Сі, оголошені в <code>stdio.h</code> функції вельми популярні завдяки тому, що гарантують роботу на майже будь-якій <a href="%D0%9A%D0%BE%D0%BC%D0%BF'%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0_%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B0" title="Комп'ютерна платформа">платформі</a>, яка підтримує Сі. Втім, програми на окремих платформах можуть мати причини для використання функцій введення/виведення самої платформи замість функцій <code>stdio.h</code>.
</p>
<div class="mw-heading mw-heading2"><h2 id="Типи_даних"><span id=".D0.A2.D0.B8.D0.BF.D0.B8_.D0.B4.D0.B0.D0.BD.D0.B8.D1.85"></span>Типи даних</h2></div>
<p>В заголовному файлі <code>stdio.h</code> визначено наступні типи даних:
</p>
<ul><li><code>FILE</code>&nbsp;— <a href="Struct_(%D0%BC%D0%BE%D0%B2%D0%B0_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F_C)" title="Struct (мова програмування C)">структура</a>, яка містить інформацію про файл (<a href="%D0%9F%D0%BE%D1%82%D1%96%D0%BA_(%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D1%83%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F)" title="Потік (програмування)">потік</a>), необхідну для виконання операцій введення і виведення, включаючи:
<ul><li>файловий дескриптор;</li>
<li>поточну позицію в потоці;</li>
<li>індикатор кінця файлу;</li>
<li>індикатори помилок;</li>
<li><a href="%D0%92%D0%BA%D0%B0%D0%B7%D1%96%D0%B2%D0%BD%D0%B8%D0%BA" title="Вказівник">вказівник</a> на буфер потоку, якщо такий буфер використовується.</li></ul></li>
<li><code>fpos_t</code>&nbsp;— тип, призначений для збереження та відновлення інформації про поточну позицію та стан потоку.</li></ul>
<p>Функції стандартного вводу/виводу також використовують тип size_t&nbsp;— беззнакових цілий тип, що є типом результату виконання <a href="%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D0%B8_%D0%B2_C_%D1%82%D0%B0_C%2B%2B" title="Оператори в C та C++">оператора</a> отримання розміру об'єкта <code>sizeof</code> та визначений у заголовному файлі <a href="Stddef.h" title="Stddef.h">stddef.h</a>.
</p><p>Оскільки реалізація потоків залежить від платформи, програміст не повинен працювати безпосередньо з полями об'єктів типів <code>FILE</code> та <code>fpos_t</code> і не повинен робити припущень щодо їх внутрішньої організації. Вказівник на екземпляр структури типу <code>FILE</code> виконує роль унікального ідентифікатора потоку, з яким працюють функції бібліотеки. У файлі <code>stdio.h</code> оголошено три змінних&nbsp;— вказівники на структури типу <code>FILE</code> для <a href="%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%96_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B8" title="Стандартні потоки">стандартних потоків</a>, які відповідають дескрипторам 1, 2 та 3 відповідно:
</p>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="w"> </span><span class="k">extern</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">FILE</span><span class="w"> </span><span class="o">*</span><span class="n">stdin</span><span class="p">;</span><span class="w">   </span><span class="cm">/* Стандартний потік вводу  */</span>
<span class="w"> </span><span class="k">extern</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">FILE</span><span class="w"> </span><span class="o">*</span><span class="n">stdout</span><span class="p">;</span><span class="w">  </span><span class="cm">/* Стандартний потік виводу */</span>
<span class="w"> </span><span class="k">extern</span><span class="w"> </span><span class="k">struct</span><span class="w"> </span><span class="nc">FILE</span><span class="w"> </span><span class="o">*</span><span class="n">stderr</span><span class="p">;</span><span class="w">  </span><span class="cm">/* Стандартний потік виводу повідомлень про помилки */</span>
</pre></div>
<div class="mw-heading mw-heading2"><h2 id="Посилання"><span id=".D0.9F.D0.BE.D1.81.D0.B8.D0.BB.D0.B0.D0.BD.D0.BD.D1.8F"></span>Посилання</h2></div>
<ul><li><span class=" nourlexpansion"><code><a rel="nofollow" class="external text" href="http://linux.die.net/man/3/stdio">stdio(3)</a></code></span>&nbsp;–&nbsp;сторінка довідки <a href="Man" title="Man">man</a> про бібліотечні функції <a href="GNU/Linux" class="mw-redirect" title="GNU/Linux">GNU/Linux</a> <style data-mw-deduplicate="TemplateStyles:r44275645">
/* start https://uk.wikipedia.org/ */


.mw-parser-output .ref-info{font-size:85%;cursor:help;margin-left:0.2em;color:var(--color-subtle,#54595d)}


/* end   https://uk.wikipedia.org/ */
</style><span title="англійською мовою" class="ref-info">(англ.)</span></li>
<li><a rel="nofollow" class="external text" href="http://cplusplus.com/reference/clibrary/cstdio">stdio.h</a> <small>[<a rel="nofollow" class="external text" href="https://web.archive.org/web/20121114012127/http://www.cplusplus.com/reference/clibrary/cstdio/">Архівовано</a> 14 листопада 2012 у <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a>.]</small> на сайті cplusplus.com</li></ul>
<p><br>
</p>
</div><!--htdig_noindex--><div><div class="zim-footer">
    This article is issued from <a class="external text" title="Last edited on 2025-06-09" href="https://uk.wikipedia.org/wiki/?title=Stdio.h&amp;oldid=45443966">Вікіпедія</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.uk">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
            </div>
          </main>
        </div>
      </div>
    </div>
     <script src="./_webp_/webpHandler.js"></script>
  

</body></html>