<!DOCTYPE html>
<html class="client-nojs" lang="ru" 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://ru.wikipedia.org/wiki/Stdio.h"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.styles.legacy.css" rel="stylesheet" type="text/css">
    <meta name="ResourceLoaderDynamicStyles" content="">
    <link href="./_mw_/ext.gadget.common-site.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.gadget.logo.css" rel="stylesheet" type="text/css">
    <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.css">
  </head>

  <body class="skin-vector-legacy mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Stdio_h rootpage-Stdio_h skin-vector action-view">
    <div id="content" class="mw-body" role="main">
      <a id="top"></a>
      <h1 id="firstHeading" class="firstHeading mw-first-heading">stdio.h</h1>
      <div id="bodyContent" class="vector-body">
        <div id="contentSub">
          <div id="mw-content-subtitle"></div>
        </div>
        <div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="ru" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="ru" dir="ltr"><p class="mw-empty-elt">
</p>
<style data-mw-deduplicate="TemplateStyles:r138740689">
/* start https://ru.wikipedia.org/ */


.mw-parser-output .ts-Боковая_навигационная_таблица-body{float:right;clear:right;width:23em;margin:0 0 1.0em 1.0em;background:var(--background-color-interactive-subtle,#f8f9fa);border:1px solid var(--border-color-base,#a2a9b1);color:inherit;padding:0.4em;border-spacing:0.2em;text-align:center;line-height:1.4em;font-size:90%}.mw-parser-output .ts-Боковая_навигационная_таблица-outerTitle{padding-bottom:0.2em;font-size:125%;line-height:1.15em;font-weight:bold}.mw-parser-output .ts-Боковая_навигационная_таблица-topImage{padding:0 0 0.4em}.mw-parser-output .ts-Боковая_навигационная_таблица-topImage-caption,.mw-parser-output .ts-Боковая_навигационная_таблица-image-caption{padding-top:0.2em;line-height:1.2em}.mw-parser-output .ts-Боковая_навигационная_таблица-preTitle{padding-top:0.4em}.mw-parser-output .ts-Боковая_навигационная_таблица-topImage-row+tr>.ts-Боковая_навигационная_таблица-preTitle{padding-top:0}.mw-parser-output .ts-Боковая_навигационная_таблица-image{padding:0.4em 0 0.4em}.mw-parser-output .ts-Боковая_навигационная_таблица-title{padding:0.2em 0.4em 0.2em;font-size:125%;line-height:1.15em;font-weight:bold;background:var(--ruwiki-background-color-blue200,#cfe3ff);color:inherit}.mw-parser-output .ts-Боковая_навигационная_таблица-above{padding:0.2em 0.4em 0.2em;font-weight:bold}.mw-parser-output .ts-Боковая_навигационная_таблица-below{padding:0.2em 0.4em 0.2em;font-weight:bold;background:var(--background-color-progressive-subtle,#eaf3ff);color:inherit}.mw-parser-output .ts-Боковая_навигационная_таблица-heading{padding:0.2em 0;font-weight:bold;background:var(--background-color-progressive-subtle,#eaf3ff);color:inherit}.mw-parser-output .ts-Боковая_навигационная_таблица-list{padding:0.2em 0}


/* end   https://ru.wikipedia.org/ */
</style>
<p><b>stdio.h</b> (от <a href="%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA" title="Английский язык">англ.</a>&nbsp;<span lang="en" style="font-style:italic;">standard input/output header</span>&nbsp;— стандартный заголовочный файл <a href="%D0%A4%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%8B%D0%B9_%D0%B2%D0%B2%D0%BE%D0%B4-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4_%D0%B2_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_%D0%A1%D0%B8" title="Файловый ввод-вывод в языке Си">ввода-вывода</a>)&nbsp;— <a href="%D0%97%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BE%D1%87%D0%BD%D1%8B%D0%B9_%D1%84%D0%B0%D0%B9%D0%BB" title="Заголовочный файл">заголовочный файл</a> <a href="%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D0%B0%D1%8F_%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_%D0%A1%D0%B8" title="Стандартная библиотека языка Си">стандартной библиотеки</a> <a href="%D0%AF%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%D0%A1%D0%B8" class="mw-redirect" title="Язык программирования Си">языка Си</a>, содержащий определения <a href="%D0%9C%D0%B0%D0%BA%D1%80%D0%BE%D1%81" class="mw-redirect" title="Макрос">макросов</a>, константы и объявления функций и типов, используемых для различных операций стандартного ввода и вывода. Функциональность унаследована от «портативного пакета ввода-вывода» («portable I/O package»), написанного Майком Леском из <a href="Bell_Labs" class="mw-redirect" title="Bell Labs">Bell Labs</a> в начале 1970-х.<sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> <a href="C%2B%2B" title="C++">C++</a> ради совместимости также использует <code>stdio.h</code> наряду со схожим по функциональности заголовочным файлом <b>cstdio</b>.
</p><p>Функции, объявленные в <code>stdio.h</code>, являются весьма популярными благодаря тому, что, являясь частью <a href="%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D0%B0%D1%8F_%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B0_%D0%A1%D0%B8" title="Стандартная библиотека языка Си">Стандартной библиотеки языка Си</a>, они гарантируют работу на любой платформе, поддерживающей Си. Приложения на отдельных платформах могут, тем не менее, иметь причины для использования функций ввода-вывода самой платформы вместо функций <code>stdio.h</code>.
</p><p>Стандарт определяет такое понятие, как <i>поток</i>&nbsp;— последовательный набор информации, который может быть входным или выходным, может быть предоставлен как <a href="%D0%A4%D0%B0%D0%B9%D0%BB" title="Файл">файлом</a>, так и устройством (например, <a href="%D0%A2%D0%B5%D1%80%D0%BC%D0%B8%D0%BD%D0%B0%D0%BB_%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%B0" class="mw-redirect" title="Терминал компьютера">терминалом</a>)<sup id="cite_ref-stdc_2-0" class="reference"><a href="#cite_note-stdc-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>. Поток может быть текстовым или <a href="%D0%91%D0%B8%D0%BD%D0%B0%D1%80%D0%BD%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4" class="mw-redirect" title="Бинарный код">бинарным</a>. Текстовый поток&nbsp;— последовательность символов. При этом термин «символ» в данном контексте может означать как читаемый символ, так и управляющий символ (например, символ вертикальной табуляции или символ конца файла). Символы в текстовом потоке объединяются в строки. Каждая строка заканчивается символом новой строки либо символом конца файла. Бинарный поток&nbsp;— последовательность байтов, которые могут прозрачно представлять любую информацию (в том числе и текст). Поток может быть в одном из трёх состояний: неориентированном (по умолчанию), «<a href="%D0%A8%D0%B8%D1%80%D0%BE%D0%BA%D0%B8%D0%B9_%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB" title="Широкий символ">широко символьном</a>» или битовым. Состояние определяется последней функцией, которая использовала этот поток.
</p>

<div class="mw-heading mw-heading2"><h2 id="Пример_использования"><span id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80_.D0.B8.D1.81.D0.BF.D0.BE.D0.BB.D1.8C.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F"></span>Пример использования</h2></div>
<p>Все функции в языке Си (и его многочисленных разновидностях) объявляются в <a href="%D0%97%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BE%D1%87%D0%BD%D1%8B%D0%B9_%D1%84%D0%B0%D0%B9%D0%BB" title="Заголовочный файл">заголовочных файлах</a>. Таким образом, программистам приходится подключать файл <code>stdio.h</code> к исходному коду, чтобы использовать функции, объявленные в нём.
</p>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;stdio.h&gt;</span>
<span class="linenos" data-line="2"></span><span class="w"> </span>
<span class="linenos" data-line="3"></span><span class="kt">int</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span>
<span class="linenos" data-line="4"></span><span class="p">{</span>
<span class="linenos" data-line="5"></span><span class="w">    </span><span class="kt">int</span><span class="w"> </span><span class="n">ch</span><span class="p">;</span>
<span class="linenos" data-line="6"></span><span class="w">    </span><span class="k">while</span><span class="w"> </span><span class="p">((</span><span class="n">ch</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">getchar</span><span class="p">())</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="n">EOF</span><span class="p">)</span>
<span class="linenos" data-line="7"></span><span class="w">        </span><span class="n">putchar</span><span class="p">(</span><span class="n">ch</span><span class="p">);</span>
<span class="linenos" data-line="8"></span><span class="w">    </span><span class="n">putchar</span><span class="p">(</span><span class="sc">'\n'</span><span class="p">);</span>
<span class="linenos" data-line="9"></span><span class="w">    </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
<span class="linenos" data-line="10"></span><span class="p">}</span>
</pre></div>
<p><a href="%D0%9A%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B0" title="Компьютерная программа">Программа</a>, приведённая выше, считывает всю входящую информацию из стандартного ввода и выводит её побайтно на стандартный вывод, добавляя <a href="%D0%9F%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4_%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B8" title="Перевод строки">символ перевода строки</a> в конец вывода.
</p>
<div class="mw-heading mw-heading2"><h2 id="Функции"><span id=".D0.A4.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8"></span>Функции</h2></div>
<p>Функции, объявленные в <code>stdio.h</code>, в общем случае могут быть разделены на две категории: функции для операций с файлами и функции для операций ввода-вывода.
</p>
<table class="wikitable">

<tbody><tr>
<th>Имя</th>
<th>Примечания
</th></tr>
<tr>
<th colspan="2">Функции для файловых операций
</th></tr>
<tr>
<td><code><a href="Fclose" class="mw-redirect" title="Fclose">fclose</a></code></td>
<td>закрывает файл, ассоциированный с переданным ей значением FILE *
</td></tr>
<tr>
<td><code>fopen, freopen, fdopen</code></td>
<td>открывают файл для определённых типов чтения и записи
</td></tr>
<tr>
<td><code>remove</code></td>
<td>удаляет файл (стирая его)
</td></tr>
<tr>
<td><code>rename</code></td>
<td>переименовывает файл
</td></tr>
<tr>
<td><code>rewind</code></td>
<td>работает аналогично fseek (stream, 0L, SEEK_SET), вызванному для потока, со сбросом индикатора ошибок
</td></tr>
<tr>
<td><code>tmpfile</code></td>
<td>создает и открывает временный файл, удаляемый при закрытии через fclose()
</td></tr>
<tr>
<th colspan="2">Функции для операций ввода-вывода
</th></tr>
<tr>
<td><code>clearerr</code></td>
<td>очищает <a href="EOF" title="EOF">EOF</a> и индикаторы ошибок для данного потока
</td></tr>
<tr>
<td><code>feof</code></td>
<td>проверяет, установлен ли индикатор <a href="EOF" title="EOF">EOF</a> для данного потока
</td></tr>
<tr>
<td><code>ferror</code></td>
<td>проверяет, установлен ли индикатор ошибок для данного потока
</td></tr>
<tr>
<td><code>fflush</code></td>
<td>принудительно записывает <b>вывод</b>, предназначенный для помещения в буфер, в файл, ассоциированный с данным потоком
</td></tr>
<tr>
<td><code>fgetpos</code></td>
<td>сохраняет позицию указателя файла потока, ассоциированный с его первым аргументом (FILE *), в его второй аргумент (fpos_t *)
</td></tr>
<tr>
<td><code>fgetc</code></td>
<td>возвращает один символ из файла
</td></tr>
<tr>
<td><code>fgets</code></td>
<td>получает строку (оканчивающуюся символом перевода строки или конца файла) из потока (например файла или stdin)
</td></tr>
<tr>
<td><code>fputc</code></td>
<td>записывает один символ в поток
</td></tr>
<tr>
<td><code>fputs</code></td>
<td>записывает строку в поток
</td></tr>
<tr>
<td><code>ftell</code></td>
<td>возвращает указатель позиции файла, который может быть передан fseek
</td></tr>
<tr>
<td><code>fseek</code></td>
<td>производит смещение от текущей позиции в файле на указанное количество байт, или от его начала или конца, в указанном направлении.
</td></tr>
<tr>
<td><code>fsetpos</code></td>
<td>устанавливает указатель позиции файла потока, ассоциированный с его первым аргументом (FILE *), как хранимый во втором его аргументе (fpos_t *)
</td></tr>
<tr>
<td><code>fread</code></td>
<td>читает данные из файла
</td></tr>
<tr>
<td><code>fwrite</code></td>
<td>записывает данные в файл
</td></tr>
<tr>
<td><code>getc</code></td>
<td>считывает и возвращает символ из данного потока и изменяет указатель позиции файла; позволяет использоваться как макрос с теми же эффектами, что и fgetc, кроме того, что может вычислять поток более одного раза
</td></tr>
<tr>
<td><code>getchar</code></td>
<td>имеет аналогичный эффект, что и getc(stdin)
</td></tr>
<tr>
<td><code><a href="Gets" title="Gets">gets</a></code></td>
<td>считывает символы из <code>stdin</code> до символа перевода строки и хранит их в своём единственном аргументе (очень опасная из-за переполнения буфера)
</td></tr>
<tr>
<td><code><a href="Printf" title="Printf">printf, vprintf</a></code></td>
<td>используются для вывода в стандартный поток вывода
</td></tr>
<tr>
<td><code><a href="Fprintf" class="mw-redirect" title="Fprintf">fprintf, vfprintf</a></code></td>
<td>используются для вывода в файл
</td></tr>
<tr>
<td><code><a href="Sprintf" class="mw-redirect" title="Sprintf">sprintf, snprintf, vsprintf</a></code></td>
<td>используются для вывода в массив типа <code>char</code> (Строка в языке Си)
</td></tr>
<tr>
<td><code><a href="Perror" class="mw-redirect" title="Perror">perror</a></code></td>
<td>записывает сообщение об ошибке в <code>stderr</code>
</td></tr>
<tr>
<td><code>putc</code></td>
<td>записывает и возвращает символ в поток и изменяет указатель позиции файла на него; можно использовать как макрос с теми же свойствами, что и fputc, кроме того, что он может обрабатывать поток более одного раза
</td></tr>
<tr>
<td><code>putchar, fputchar</code></td>
<td>аналогичны putc(stdout)
</td></tr>
<tr>
<td><code>scanf, vscanf</code></td>
<td>используются для ввода из стандартного потока ввода
</td></tr>
<tr>
<td><code>fscanf, vfscanf</code></td>
<td>используются для ввода из файла
</td></tr>
<tr>
<td><code>sscanf, vsscanf</code></td>
<td>используются для ввода из массива <code>char</code> (то есть Строка в языке Си)
</td></tr>
<tr>
<td><code>setbuf</code></td>
<td>указывает буфер, который будет использоваться ука­занным потоком
</td></tr>
<tr>
<td><code>setvbuf</code></td>
<td>устанавливает режим буферизации для данного потока
</td></tr>
<tr>
<td><code>tmpnam</code></td>
<td>создает имя временного файла
</td></tr>
<tr>
<td><code>ungetc</code></td>
<td>помещает символ обратно в поток
</td></tr>
<tr>
<td><code>puts</code></td>
<td>выводит символьную строку в <code>stdout</code>
</td></tr></tbody></table>
<div class="mw-heading mw-heading2"><h2 id="Константы"><span id=".D0.9A.D0.BE.D0.BD.D1.81.D1.82.D0.B0.D0.BD.D1.82.D1.8B"></span>Константы</h2></div>
<p>В заголовочном файле <code>stdio.h</code> определены следующие константы:
</p>
<table class="wikitable">

<tbody><tr>
<th>Имя</th>
<th>Примечания
</th></tr>
<tr>
<td><code><a href="EOF" title="EOF">EOF</a></code></td>
<td>отрицательное целое число типа <code>int</code>, используемое для обозначения конца файла
</td></tr>
<tr>
<td><code>BUFSIZ</code></td>
<td>целое число, равное размеру буфера, используемое функцией <code>setbuf()</code>
</td></tr>
<tr>
<td><code>FILENAME_MAX</code></td>
<td>размер массива <code>char</code>, достаточного для хранения имени любого файла, который может быть открыт
</td></tr>
<tr>
<td><code>FOPEN_MAX</code></td>
<td>число файлов, которые могут быть открыты одновременно; как минимум равно 8
</td></tr>
<tr>
<td><code>_IOFBF</code></td>
<td>сокращение от «input/output fully buffered» (полностью буферируемый ввод-вывод); целое число, которое может быть передано функции <code>setvbuf()</code> для запроса <i>блока буфера</i> ввода и вывода для открытого потока
</td></tr>
<tr>
<td><code>_IOLBF</code></td>
<td>сокращение от «input/output line buffered» (линейно буферируемый ввод-вывод); целое число, которое может быть передано функции <code>setvbuf()</code> для запроса <i>линии буфера</i> ввода и вывода для открытого потока
</td></tr>
<tr>
<td><code>_IONBF</code></td>
<td>сокращение от «input/output not buffered» (не буферируемый ввод-вывод); целое число, которое может быть передано функции <code>setvbuf()</code> для запроса <i>небуферированого</i> ввода и вывода для открытого потока
</td></tr>
<tr>
<td><code>L_tmpnam</code></td>
<td>размер массива <code>char</code>, достаточного для хранения временного имени файла, сгенерированного функцией <code>tmpnam()</code>
</td></tr>
<tr>
<td><code><a href="NULL_(%D0%A1%D0%B8)" title="NULL (Си)">NULL</a></code></td>
<td>макрос, расширяющий константу <a href="%D0%A3%D0%BA%D0%B0%D0%B7%D0%B0%D1%82%D0%B5%D0%BB%D1%8C_(%D1%82%D0%B8%D0%BF_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85)#Нулевой_указатель" title="Указатель (тип данных)">нулевого указателя</a>; то есть константу, представляющую значение указателя, гарантированно указывающего <b>не</b>существующий адрес объекта в памяти
</td></tr>
<tr>
<td><code>SEEK_CUR</code></td>
<td>целое число, которое может быть передано функции <code>fseek()</code> для запроса позиционирования относительно текущей позиции в файле
</td></tr>
<tr>
<td><code>SEEK_END</code></td>
<td>целое число, которое может быть передано функции <code>fseek()</code> для запроса позиционирования относительно конца файла
</td></tr>
<tr>
<td><code>SEEK_SET</code></td>
<td>целое число, которое может быть передано функции <code>fseek()</code> для запроса позиционирования относительно начала файла
</td></tr>
<tr>
<td><code>TMP_MAX</code></td>
<td>максимальное число уникальных имён файлов, генерируемых функцией <code>tmpnam()</code>; как минимум 25
</td></tr></tbody></table>
<div class="mw-heading mw-heading2"><h2 id="Переменные"><span id=".D0.9F.D0.B5.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D0.BD.D1.8B.D0.B5"></span>Переменные</h2></div>
<p>Следующие переменные определены в заголовочном файле <code>stdio.h</code>:
</p>
<table class="wikitable">

<tbody><tr>
<th>Имя</th>
<th>Примечания
</th></tr>
<tr>
<td><code><a href="%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B8#Стандартный_ввод" title="Стандартные потоки">stdin</a></code></td>
<td>указатель на <code>FILE</code>, указывающий на стандартный поток ввода (обычно клавиатура).
</td></tr>
<tr>
<td><code><a href="%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B8#Стандартный_вывод" title="Стандартные потоки">stdout</a></code></td>
<td>указатель на <code>FILE</code>, указывающий на стандартный поток вывода (обычно дисплей терминала).
</td></tr>
<tr>
<td><code><a href="%D0%A1%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%BD%D1%8B%D0%B5_%D0%BF%D0%BE%D1%82%D0%BE%D0%BA%D0%B8#stderr" title="Стандартные потоки">stderr</a></code></td>
<td>указатель на <code>FILE</code>, указывающий на стандартный поток ошибок (обычно дисплей терминала).
</td></tr></tbody></table>
<div class="mw-heading mw-heading2"><h2 id="Типы"><span id=".D0.A2.D0.B8.D0.BF.D1.8B"></span>Типы</h2></div>
<p>Типы данных, определённые в заголовочном файле <code>stdio.h</code>, содержат:
</p>
<ul><li><code>FILE</code>&nbsp;— структура, содержащая информацию о файле или текстовом потоке, необходимую для выполнения её операций ввода и вывода операций, включая:
<ul><li><a href="%D0%A4%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%8B%D0%B9_%D0%B4%D0%B5%D1%81%D0%BA%D1%80%D0%B8%D0%BF%D1%82%D0%BE%D1%80" title="Файловый дескриптор">файловый дескриптор</a></li>
<li>текущую позицию в потоке</li>
<li>индикатор конца файла</li>
<li>индикатор ошибок</li>
<li>указатель на буфер потока, если возможно</li></ul></li>
<li><code>fpos_t</code>&nbsp;— не массивообразный тип, способный уникально идентифицировать позицию каждого байта в файле.</li>
<li><code>size_t</code>&nbsp;— беззаконный <a href="%D0%A6%D0%B5%D0%BB%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE" title="Целое число">целый</a> тип, являющийся типом результата выполнения оператора <code>sizeof</code>.</li></ul>
<div class="mw-heading mw-heading2"><h2 id="Примечания"><span id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.87.D0.B0.D0.BD.D0.B8.D1.8F"></span>Примечания</h2></div>
<div class="reflist columns" style="list-style-type: decimal;">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-1"><span class="mw-cite-backlink"><a href="#cite_ref-1">↑</a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r150646110">
/* start https://ru.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"«""»""„""“"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free a::after,.mw-parser-output .id-lock-limited a::after,.mw-parser-output .id-lock-registration a::after,.mw-parser-output .id-lock-subscription a::after,.mw-parser-output .cs1-ws-icon a::after{content:"";width:1.1em;height:1.1em;display:inline-block;vertical-align:middle;background-position:center;background-repeat:no-repeat;background-size:contain}.mw-parser-output .id-lock-free.id-lock-free a::after{background-image:url("./_mw_/Lock-green.svg")}.mw-parser-output .id-lock-limited.id-lock-limited a::after,.mw-parser-output .id-lock-registration.id-lock-registration a::after{background-image:url("./_mw_/Lock-gray-alt-2.svg")}.mw-parser-output .id-lock-subscription.id-lock-subscription a::after{background-image:url("./_mw_/Lock-red-alt-2.svg")}.mw-parser-output .cs1-ws-icon a::after{background-image:url("./_mw_/Wikisource-logo.svg")}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}html.skin-theme-clientpref-night .mw-parser-output .id-lock-free a::after,html.skin-theme-clientpref-night .mw-parser-output .id-lock-limited a::after,html.skin-theme-clientpref-night .mw-parser-output .id-lock-registration a::after,html.skin-theme-clientpref-night .mw-parser-output .id-lock-subscription a::after{filter:invert(1)hue-rotate(180deg)}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}html.skin-theme-clientpref-os .mw-parser-output .id-lock-free a::after,html.skin-theme-clientpref-os .mw-parser-output .id-lock-limited a::after,html.skin-theme-clientpref-os .mw-parser-output .id-lock-registration a::after,html.skin-theme-clientpref-os .mw-parser-output .id-lock-subscription a::after{filter:invert(1)hue-rotate(180deg)}}


/* end   https://ru.wikipedia.org/ */
</style><span class="citation no-wikidata" data-wikidata-property-id="P1343" id="CITEREFKernighan1984"><i><a href="%D0%9A%D0%B5%D1%80%D0%BD%D0%B8%D0%B3%D0%B0%D0%BD%2C_%D0%91%D1%80%D0%B0%D0%B9%D0%B0%D0%BD" title="Керниган, Брайан">Kernighan, Brian</a>; <a href="%D0%9F%D0%B0%D0%B9%D0%BA%2C_%D0%A0%D0%BE%D0%B1" title="Пайк, Роб">Роб Пайк</a>.</i> <span data-interwiki-lang="en" data-interwiki-article="The UNIX Programming Environment">The UNIX Programming Environment</span>.&nbsp;— <span data-interwiki-lang="en" data-interwiki-article="Энглвуд-Клифс">Энглвуд-Клифс</span>: <a href="Prentice_Hall" title="Prentice Hall">Prentice Hall</a>, 1984.&nbsp;— С.&nbsp;pg. 200.</span></span>
</li>
<li id="cite_note-stdc-2"><span class="mw-cite-backlink"><a href="#cite_ref-stdc_2-0">↑</a></span> <span class="reference-text"><span class="citation"><span lang="und"><a rel="nofollow" class="external text" href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf">ISO/IEC 9899:1999</a></span><span class="hidden-ref" style="display:none;">&nbsp;</span>. Дата обращения: 7 августа 2011. <a rel="nofollow" class="external text" href="https://www.webcitation.org/618HUIDTw?url=http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1124.pdf">Архивировано</a> 22 августа 2011 года.</span></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="Ссылки"><span id=".D0.A1.D1.81.D1.8B.D0.BB.D0.BA.D0.B8"></span>Ссылки</h2></div>
<ul><li><code><a rel="nofollow" class="external text" href="http://www.opengroup.org/onlinepubs/9699919799/basedefs/stdio.h.html">stdio.h</a></code>&nbsp;—&nbsp;основные определения, <a href="Single_Unix_Specification" class="mw-redirect" title="Single Unix Specification">The Single UNIX® Specification</a>, выпуск 7 от <a href="The_Open_Group" title="The Open Group">The Open Group</a> &nbsp;<span class="ref-info" title="на английском языке" style="cursor:help;">(англ.)</span></li>
<li><a rel="nofollow" class="external text" href="http://code-reference.com/c/stdio.h">stdio.h on Coding Programmer Page / C Library Reference and Examples</a> (en)</li>
<li><a href="%D0%A4%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D1%8B%D0%B9_%D0%B2%D0%B2%D0%BE%D0%B4-%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4_%D0%B2_%D1%8F%D0%B7%D1%8B%D0%BA%D0%B5_%D0%A1%D0%B8" title="Файловый ввод-вывод в языке Си">stdio.h</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
    Эта статья взята у (из) <a class="external text" title="Последний раз редактировалась 2025-11-04" href="https://ru.wikipedia.org/wiki/?title=Stdio.h&amp;oldid=149597349">Википедия</a>. Текст лицензируется по <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.ru">Creative Commons Attribution-Share Alike 4.0</a>. К медиа файлам могут применятся дополнительные условия.
</div>
</div><!--/htdig_noindex--></div>
      </div>
    </div>
     <script src="./_webp_/webpHandler.js"></script>
  

</body></html>