<!DOCTYPE html>
<html class="client-nojs" lang="ru" dir="ltr"><head>
    <meta charset="UTF-8">
    <title>Ctype.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/Ctype.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-Ctype_h rootpage-Ctype_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">ctype.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>ctype.h</b>&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" title="Стандартная библиотека">стандартной библиотеки</a> <a href="C_(%D1%8F%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)" class="mw-redirect" title="C (язык программирования)">языка программирования С</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>Все перечисленные ниже функции имеют прототипы следующего вида:
</p><p><code>int <i>имя_функции</i>( int );</code>
</p><p>Все эти функции принимают в качестве аргумента <code>int</code>-эквивалент символа и возвращают значение типа <code>int</code>, которое может представлять или другой символ (в случае функций преобразования), или логическое значение: 0 означает «Ложь», а отличное от нуля значение&nbsp;— «Истина» (это относится к функциям классификации).
</p><p>Поведение этих функций зависит от текущей <a href="Locale.h" title="Locale.h">кодировки</a>.<sup id="cite_ref-stdc_1-0" class="reference"><a href="#cite_note-stdc-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p><p>Результат применения этих функций к символам с кодами, принадлежащими расширенной кодировке времени выполнения (<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;">extended execution characterset</span>) зависит от платформы и локализации.
</p>
<div class="mw-heading mw-heading3"><h3 id="Функции_классификации"><span id=".D0.A4.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8_.D0.BA.D0.BB.D0.B0.D1.81.D1.81.D0.B8.D1.84.D0.B8.D0.BA.D0.B0.D1.86.D0.B8.D0.B8"></span>Функции классификации</h3></div>
<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;ctype.h&gt;</span>
<span class="linenos" data-line="2"></span><span class="kt">int</span><span class="w"> </span><span class="nf">isalnum</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">c</span><span class="p">);</span><span class="w"> </span><span class="c1">//Если аргумент функции является либо буквой, либо цифрой, она возвращает ненулевое значение.</span>
<span class="linenos" data-line="3"></span><span class="kt">int</span><span class="w"> </span><span class="nf">isalpha</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">c</span><span class="p">);</span><span class="w"> </span><span class="c1">//Возвращает ненулевое значение, если её аргумент является буквой, в противном случае возвращается нуль.</span>
<span class="linenos" data-line="4"></span><span class="kt">int</span><span class="w"> </span><span class="nf">isblank</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">c</span><span class="p">);</span><span class="w"> </span><span class="c1">//Возвращает true, если с - пробел или горизонтальная табуляция (С99).</span>
<span class="linenos" data-line="5"></span><span class="kt">int</span><span class="w"> </span><span class="nf">iscntrl</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">c</span><span class="p">);</span><span class="w"> </span><span class="c1">//Возвращает true, если с - управляющий символ, такой как &lt;Ctrl+B&gt;.</span>
<span class="linenos" data-line="6"></span><span class="kt">int</span><span class="w"> </span><span class="nf">isdigit</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">c</span><span class="p">);</span><span class="w"> </span><span class="c1">//Возвращает ненулевое значение, если её аргумент является десятичной цифрой, в противном случае возвращается нуль.</span>
<span class="linenos" data-line="7"></span><span class="kt">int</span><span class="w"> </span><span class="nf">isgraph</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">c</span><span class="p">);</span><span class="w"> </span><span class="c1">//Возвращает true, если с - печатаемый символ, отличный от пробела.</span>
<span class="linenos" data-line="8"></span><span class="kt">int</span><span class="w"> </span><span class="nf">islower</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">c</span><span class="p">);</span><span class="w"> </span><span class="c1">//Возвращает true, если с - символ нижнего регистра.</span>
<span class="linenos" data-line="9"></span><span class="kt">int</span><span class="w"> </span><span class="nf">isprint</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">c</span><span class="p">);</span><span class="w"> </span><span class="c1">//Возвращает true, если с — печатаемый символ.</span>
<span class="linenos" data-line="10"></span><span class="kt">int</span><span class="w"> </span><span class="nf">ispunct</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">c</span><span class="p">);</span><span class="w"> </span><span class="c1">//Возвращает true, если с - знак препинания (любой печатаемый символ, отличный от пробела или алфавитно-цифрового символа).</span>
<span class="linenos" data-line="11"></span><span class="kt">int</span><span class="w"> </span><span class="nf">isspace</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">c</span><span class="p">);</span><span class="w"> </span><span class="c1">//Возвращает true, если с — пробельный символ: пробел, новая строка,перевод страницы, возврат каретки, вертикальная табуляция, горизонтальная табуляция или, возможно, другой символ, определяемый реализацией</span>
<span class="linenos" data-line="12"></span><span class="kt">int</span><span class="w"> </span><span class="nf">isupper</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">c</span><span class="p">);</span><span class="w"> </span><span class="c1">//Возвращает true, если с - символ верхнего регистра.</span>
<span class="linenos" data-line="13"></span><span class="kt">int</span><span class="w"> </span><span class="nf">isxdigit</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">c</span><span class="p">);</span><span class="w"> </span><span class="c1">//Возвращает true, если с — шестнадцатеричная цифра.</span>
</pre></div>
<p>Эти функции проверяют, является ли аргумент буквой или цифрой, пробелом или табуляцией, управляющим символом, десятичным числом, печатным символом (кроме пробела), символом в нижнем регистре, печатным символом (в том числе пробелом), пробелом, символом в верхнем регистре или шестнадцатиричным числом.
</p>
<div class="mw-heading mw-heading3"><h3 id="Функции_преобразования"><span id=".D0.A4.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B8_.D0.BF.D1.80.D0.B5.D0.BE.D0.B1.D1.80.D0.B0.D0.B7.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D1.8F"></span>Функции преобразования</h3></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;ctype.h&gt;</span>
<span class="kt">int</span><span class="w"> </span><span class="nf">toupper</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">c</span><span class="p">);</span><span class="w">   </span><span class="c1">// переводит буквы нижнего регистра в верхний регистр</span>
<span class="kt">int</span><span class="w"> </span><span class="nf">tolower</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">c</span><span class="p">);</span><span class="w">   </span><span class="c1">// переводит буквы верхнего регистра в нижний регистр</span>
</pre></div>
<p>Функции преобразуют символ c в нижний или верхний регистр, если это возможно. В противном случае они возвращают неизменённое значение.<sup id="cite_ref-stdc_1-1" class="reference"><a href="#cite_note-stdc-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.A0.D0.B5.D0.B0.D0.BB.D0.B8.D0.B7.D0.B0.D1.86.D0.B8.D1.8F_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D0.B8.D0.B9"></span>Реализация функций</h2></div>
<p>В большинстве библиотек языка C подпрограммы классификации используют статические <a href="%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0" title="Таблица поиска">таблицы поиска</a> вместо макросов или функций.
Например, создается массив из 256 восьмибитовых целых чисел, где каждый бит означает определенное свойство символа (является цифрой, буквой и&nbsp;т.&nbsp;д.). Если бит 1 показывает, цифра данный символ или нет, то код мог бы быть записан так:
</p>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#define isdigit(x) (TABLE[x] &amp; 1)</span>
</pre></div>
<p>Ранние версии <a href="Linux" title="Linux">Linux</a> использовали потенциально опасный код, подобный следующему:
</p>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="cp">#define isdigit(x) ((x) &gt;= '0' &amp;&amp; (x) &lt;= '9')</span>
</pre></div>
<p>Это могло вызвать проблемы, если в качестве аргумента использовался, например, вызов функции. В таком случае сразу не было видно, что функция вызывается дважды.
</p><p>Неправильное использование
</p>
<dl><dd><i>Во всех случаях аргумент имеет тип <code>int</code>, причем его значение должно принадлежать диапазону значений типа <code>unsigned char</code>, или же быть равным значению макроконстанты EOF. Если аргумент имеет любое другое значение, поведение функций не определено.</i></dd></dl>
<p>Тип <code>char</code> в зависимости от реализации может быть как знаковым, так и беззнаковым. Если тип <code>char</code> является знаковым, то неявное преобразование в <code>int</code> может привести к появлению отрицательных чисел, что вызовет неопределенное поведение функции. Чаще всего происходит выход за пределы <a href="%D0%A2%D0%B0%D0%B1%D0%BB%D0%B8%D1%86%D0%B0_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0" title="Таблица поиска">таблицы поиска</a> и аварийное завершение программы.
</p>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="c1">//Этот код может работать некорректно.</span>
<span class="kt">char</span><span class="w"> </span><span class="n">test</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="sc">'b'</span><span class="p">;</span>

<span class="n">toupper</span><span class="p">(</span><span class="w"> </span><span class="sc">'a'</span><span class="w"> </span><span class="p">);</span>
<span class="kt">int</span><span class="w"> </span><span class="n">res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ispunct</span><span class="p">(</span><span class="w"> </span><span class="n">test</span><span class="w"> </span><span class="p">);</span>
</pre></div>
<p>Чтобы избежать этого, используя <code>char</code>-аргументы, сперва явно преобразуйте их в <code>int</code>.
</p><p><code>int</code>-значения, возвращаемые функциями <code>getchar</code>, <code>getc</code>, <code>fgetc</code> обязательно принадлежат диапазону значений типа <code>unsigned char</code> (или равны EOF), поэтому здесь преобразование не требуется.
</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;stdio.h&gt;</span>
<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;conio.h&gt;</span>
<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;stdlib.h&gt;</span>
<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;locale.h&gt;</span>
<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;ctype.h&gt;</span>
<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;string.h&gt;</span>

<span class="kt">int</span><span class="w"> </span><span class="nf">main</span><span class="p">()</span>
<span class="p">{</span>
<span class="w">	</span><span class="n">setlocale</span><span class="p">(</span><span class="n">LC_ALL</span><span class="p">,</span><span class="w"> </span><span class="s">"RUS"</span><span class="p">);</span>
<span class="w">	</span><span class="kt">char</span><span class="w"> </span><span class="n">s</span><span class="p">[</span><span class="mi">100</span><span class="p">];</span>
<span class="w">	</span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="p">,</span><span class="w"> </span><span class="n">ind</span><span class="p">,</span><span class="w"> </span><span class="n">n</span><span class="p">;</span><span class="w"> </span><span class="c1">//Исходные данные</span>
<span class="w">	</span><span class="kt">char</span><span class="w"> </span><span class="n">ch</span><span class="p">[</span><span class="mi">4</span><span class="p">];</span>
<span class="w">	</span>
<span class="w">	</span><span class="n">printf</span><span class="p">(</span><span class="s">"Введите А, B и C, без пробелов:"</span><span class="p">);</span>
<span class="w">	</span><span class="n">gets_s</span><span class="p">(</span><span class="n">ch</span><span class="p">);</span>
<span class="w">	</span>
<span class="w">	</span><span class="n">printf</span><span class="p">(</span><span class="s">"Введите текст:</span><span class="se">\n</span><span class="s">"</span><span class="p">);</span>
<span class="w">	</span><span class="n">gets_s</span><span class="p">(</span><span class="n">s</span><span class="p">);</span><span class="w"> </span><span class="c1">//gets(функция, входящая в Стандартную библиотеку языка Си, объявляемая в заголовочном файле stdio.h , которая считывает строку стандартного ввода и помещает её в буфер, созданный вызывающей функцией).</span>

<span class="w">	</span><span class="n">n</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">strlen</span><span class="p">(</span><span class="n">s</span><span class="p">);</span><span class="w"> </span><span class="c1">//strlen(видит начало строки &nbsp;и начинает сначала считать количество символов (байтов, отводимых под каждый </span>
<span class="w">	</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">islower</span><span class="p">(</span><span class="n">ch</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">islower</span><span class="p">(</span><span class="n">ch</span><span class="p">[</span><span class="mi">2</span><span class="p">]))</span><span class="w"> </span><span class="c1">//принимает в качестве аргумента один символ (букву) и возвращает ненулевое целое значение в том случае, если буква является строчной, и нулевое, если буква является заглавной</span>

<span class="w">	</span><span class="n">ch</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ch</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">32</span><span class="p">;</span>
<span class="w">	</span><span class="n">ch</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ch</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">32</span><span class="p">;</span>
<span class="w">	</span>
<span class="w">	</span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="o">&lt;</span><span class="w"> </span><span class="n">n</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="o">++</span><span class="p">)</span>
<span class="w">	</span><span class="p">{</span>
<span class="w">		</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">ch</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="w">		</span><span class="p">{</span>
<span class="w">			</span><span class="n">ind</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">i</span><span class="p">;</span>
<span class="w">			</span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">isdigit</span><span class="p">(</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">]))</span><span class="w"> </span><span class="c1">//isdigit (Функция isdigit проверяет аргумент, передаваемый через параметр сharacter, является ли он десятичной цифрой.</span>
<span class="w">			</span><span class="p">{</span>
<span class="w">				</span><span class="k">break</span><span class="p">;</span>
<span class="w">			</span><span class="p">}</span>
<span class="w">			</span><span class="k">else</span>
<span class="w">			</span><span class="p">{</span>
<span class="w">				</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ch</span><span class="p">[</span><span class="mi">1</span><span class="p">];</span>
<span class="w">			</span><span class="p">}</span>
<span class="w">		</span><span class="p">}</span>
<span class="w">	</span><span class="p">}</span>
<span class="w">	</span>
<span class="w">	</span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">n</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="o">&gt;</span><span class="n">ind</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="o">--</span><span class="p">)</span>
<span class="w">	</span><span class="p">{</span>
<span class="w">		</span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">s</span><span class="p">[</span><span class="n">i</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">];</span>
<span class="w">	</span><span class="p">}</span>
<span class="w">	</span>
<span class="w">	</span><span class="n">s</span><span class="p">[</span><span class="n">ind</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ch</span><span class="p">[</span><span class="mi">2</span><span class="p">];</span>
<span class="w">	</span><span class="n">puts</span><span class="p">(</span><span class="n">s</span><span class="p">);</span>
<span class="w">	</span><span class="n">_getch</span><span class="p">();</span>
<span class="p">}</span>
</pre></div>
<p><br>
</p>
<div class="mw-heading mw-heading2"><h2 id="Примеры_использования"><span id=".D0.9F.D1.80.D0.B8.D0.BC.D0.B5.D1.80.D1.8B_.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>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr" dir="ltr"><pre><span></span><span class="c1">//Следующий код считывает символ и преобразует его в</span>
<span class="c1">//число типа int, если введена цифра.</span>
<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;stdio.h&gt;</span>
<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;stdlib.h&gt;</span>
<span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;ctype.h&gt;</span>
<span class="w"> </span>
<span class="kt">int</span><span class="w"> </span><span class="nf">main</span><span class="w"> </span><span class="p">(</span><span class="kt">void</span><span class="p">)</span><span class="w"> </span>
<span class="p">{</span>
<span class="w">  </span><span class="kt">int</span><span class="w"> </span><span class="n">c</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">fgetc</span><span class="p">(</span><span class="n">stdin</span><span class="p">);</span>
<span class="w">  </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">c</span><span class="w"> </span><span class="o">!=</span><span class="w"> </span><span class="n">EOF</span><span class="p">)</span>
<span class="w">  </span><span class="p">{</span>
<span class="w">     </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="w"> </span><span class="n">isdigit</span><span class="p">(</span><span class="n">c</span><span class="p">)</span><span class="w"> </span><span class="p">)</span>
<span class="w">         </span><span class="n">printf</span><span class="p">(</span><span class="w"> </span><span class="s">"You have entered a number %i</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="w"> </span><span class="n">atoi</span><span class="p">((</span><span class="kt">char</span><span class="o">*</span><span class="p">)</span><span class="o">&amp;</span><span class="n">c</span><span class="p">)</span><span class="w">  </span><span class="p">);</span>
<span class="w">     </span><span class="k">else</span>
<span class="w">         </span><span class="n">printf</span><span class="p">(</span><span class="w"> </span><span class="s">"It is not a number!</span><span class="se">\n</span><span class="s">"</span><span class="w"> </span><span class="p">);</span>
<span class="w">  </span><span class="p">}</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="p">}</span>
</pre></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/ctype.h.html">ctype.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://www.cplusplus.com/reference/clibrary/cctype/">ctype.h на C++ Reference</a></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-stdc-1"><span class="mw-cite-backlink">↑ <a href="#cite_ref-stdc_1-0"><sup><i><b>1</b></i></sup></a> <a href="#cite_ref-stdc_1-1"><sup><i><b>2</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>. Дата обращения: 31 июля 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><!--htdig_noindex--><div><div class="zim-footer">
    Эта статья взята у (из) <a class="external text" title="Последний раз редактировалась 2025-07-16" href="https://ru.wikipedia.org/wiki/?title=Ctype.h&amp;oldid=146290047">Википедия</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>