<!DOCTYPE html>
<html class="client-nojs" lang="ru" dir="ltr"><head>
    <meta charset="UTF-8">
    <title>Inttypes.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/Inttypes.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-Inttypes_h rootpage-Inttypes_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">inttypes.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"><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>inttypes.h</b> является заголовочным файлом <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> и соответствующего API. Он был добавлен в версии 1999 года ISO-стандарта языка Си (известного как <a href="C99" title="C99">C99</a>). Он включает в себя заголовочный файл <a href="Stdint.h" title="Stdint.h">stdint.h</a>. В нём определён ряд макросов для использования с семействами функций <code>printf</code> и <code>scanf</code> и функции для работы с типом <code>intmax_t</code>.
</p>

<div class="mw-heading mw-heading2"><h2 id="Макросы"><span id=".D0.9C.D0.B0.D0.BA.D1.80.D0.BE.D1.81.D1.8B"></span>Макросы</h2></div>
<p>Заголовочный файл объявляет макросы для спецификаторов формата для функций:<sup id="cite_ref-autogenerated1_1-0" class="reference"><a href="#cite_note-autogenerated1-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p><code>fprintf</code> для типов со знаком:
</p><p><b>PRId</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIdLEAST</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIdFAST</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIdMAX</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIdPTR</b>
</p><p><b>PRIi</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIiLEAST</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIiFAST</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIiMAX</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIiPTR</b>
</p><p><code>fprintf</code> для беззнаковых типов:
</p><p><b>PRIo</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIoLEAST</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIoFAST</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIoMAX</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIoPTR</b>
</p><p><b>PRIu</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIuLEAST</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIuFAST</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIuMAX</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIuPTR</b>
</p><p><b>PRIx</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIxLEAST</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIxFAST</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIxMAX</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIxPTR</b>
</p><p><b>PRIX</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIXLEAST</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIXFAST</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIXMAX</b><i>N</i>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>PRIXPTR</b>
</p><p>и подобные для функции fscanf с префиксом <code>SCN</code>.
</p><p>Каждый из этих макросов раскрывается в строковую константу, содержащую соответствующий спецификатор.<sup id="cite_ref-autogenerated1_1-1" class="reference"><a href="#cite_note-autogenerated1-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</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>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;inttypes.h&gt;</span>
<span class="kt">intmax_t</span><span class="w"> </span><span class="nf">imaxabs</span><span class="w"> </span><span class="p">(</span><span class="kt">intmax_t</span><span class="w"> </span><span class="n">j</span><span class="p">);</span>
</pre></div>
<p>Функция вычисляет абсолютное значение для целого j. Если результат не может быть вычислен, поведение функции <a href="%D0%9D%D0%B5%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%91%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D0%BE%D0%B2%D0%B5%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5" title="Неопределённое поведение">не определено</a>.
</p>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;inttypes.h&gt;</span>
<span class="kt">intmax_t</span><span class="w"> </span><span class="nf">imaxdiv</span><span class="w"> </span><span class="p">(</span><span class="kt">intmax_t</span><span class="w"> </span><span class="n">numer</span><span class="p">,</span><span class="w"> </span><span class="kt">intmax_t</span><span class="w"> </span><span class="n">denom</span><span class="p">);</span>
</pre></div>
<p>Функция получает результат деления и остаток от деления. Если одно из них не может быть вычислено, то поведение функции не определено.
</p>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;inttypes.h&gt;</span>
<span class="kt">intmax_t</span><span class="w"> </span><span class="nf">strtoimax</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="kr">restrict</span><span class="w"> </span><span class="n">nptr</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">**</span><span class="w"> </span><span class="kr">restrict</span><span class="w"> </span><span class="n">endptr</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">base</span><span class="p">);</span>
<span class="kt">uintmax_t</span><span class="w"> </span><span class="nf">strtoumax</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="kr">restrict</span><span class="w"> </span><span class="n">nptr</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="w"> </span><span class="o">**</span><span class="w"> </span><span class="kr">restrict</span><span class="w"> </span><span class="n">endptr</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">base</span><span class="p">);</span>
</pre></div>
<p>Функции эквивалентны <code>strtol</code>, <code>strtoll</code>, <code>strtoul</code>, <code>strtoull</code>, за исключением того, что строка конвертируется в <code>intmax_t</code> и <code>uintmax_t</code> соответственно. Функции возвращают преобразованное значение, если его можно представить. В противном случае возвращается один из макросов <code>INTMAX_MAX</code>, <code>INTMAX_MIN</code> или <code>UINTMAX_MAX</code>, а в <a href="Errno.h" title="Errno.h"><code>errno</code></a> записывается значение <code>ERANGE</code>.
</p>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;inttypes.h&gt;</span>
<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;stddef.h&gt;</span>
<span class="kt">intmax_t</span><span class="w"> </span><span class="nf">wcstoimax</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="kt">wchar_t</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="kr">restrict</span><span class="w"> </span><span class="n">nptr</span><span class="p">,</span><span class="w"> </span><span class="kt">wchar_t</span><span class="w"> </span><span class="o">**</span><span class="w"> </span><span class="kr">restrict</span><span class="w"> </span><span class="n">endptr</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">base</span><span class="p">);</span>
<span class="kt">uintmax_t</span><span class="w"> </span><span class="nf">wcstoumax</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="kt">wchar_t</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="kr">restrict</span><span class="w"> </span><span class="n">nptr</span><span class="p">,</span><span class="w"> </span><span class="kt">wchar_t</span><span class="w"> </span><span class="o">**</span><span class="w"> </span><span class="kr">restrict</span><span class="w"> </span><span class="n">endptr</span><span class="p">,</span><span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">base</span><span class="p">);</span>
</pre></div>
<p>Поведение этих функций эквивалентно <code>strtoimax()</code> и <code>strtoumax()</code>.<sup id="cite_ref-autogenerated1_1-2" class="reference"><a href="#cite_note-autogenerated1-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="См._также"><span id=".D0.A1.D0.BC._.D1.82.D0.B0.D0.BA.D0.B6.D0.B5"></span>См. также</h2></div>
<ul><li><a href="Stdint.h" title="Stdint.h">stdint.h</a></li></ul>
<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/inttypes.h.html">inttypes.h</a></code>:&nbsp;Целочисленные типы фиксированного размера&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></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-autogenerated1-1"><span class="mw-cite-backlink">↑ <a href="#cite_ref-autogenerated1_1-0"><sup><i><b>1</b></i></sup></a> <a href="#cite_ref-autogenerated1_1-1"><sup><i><b>2</b></i></sup></a> <a href="#cite_ref-autogenerated1_1-2"><sup><i><b>3</b></i></sup></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>. Дата обращения: 30 июля 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.94.D0.BE.D0.BF.D0.BE.D0.BB.D0.BD.D0.B8.D1.82.D0.B5.D0.BB.D1.8C.D0.BD.D1.8B.D0.B5_.D0.B8.D1.81.D1.82.D0.BE.D1.87.D0.BD.D0.B8.D0.BA.D0.B8"></span>Дополнительные источники</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://web.archive.org/web/20081208160203/http://msinttypes.googlecode.com/svn/trunk/inttypes.h">inttypes.h</a>&nbsp;— заголовочный файл для <a href="Visual_C%2B%2B" class="mw-redirect" title="Visual C++">Visual C++</a> (требует совместимый файл <a href="Stdint.h" title="Stdint.h">stdint.h</a>).</li>
<li><a rel="nofollow" class="external text" href="http://techforb.blogspot.com/2007/10/c-interger-constant-out-of-range.html">Определение констант и переменных явных типов</a></li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
    Эта статья взята у (из) <a class="external text" title="Последний раз редактировалась 2025-11-14" href="https://ru.wikipedia.org/wiki/?title=Inttypes.h&amp;oldid=149764354">Википедия</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>