diff options
| author | Craig Jennings <c@cjennings.net> | 2024-04-07 13:41:34 -0500 |
|---|---|---|
| committer | Craig Jennings <c@cjennings.net> | 2024-04-07 13:41:34 -0500 |
| commit | 754bbf7a25a8dda49b5d08ef0d0443bbf5af0e36 (patch) | |
| tree | f1190704f78f04a2b0b4c977d20fe96a828377f1 /devdocs/c/string%2Fwide%2Fiswdigit.html | |
new repository
Diffstat (limited to 'devdocs/c/string%2Fwide%2Fiswdigit.html')
| -rw-r--r-- | devdocs/c/string%2Fwide%2Fiswdigit.html | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/devdocs/c/string%2Fwide%2Fiswdigit.html b/devdocs/c/string%2Fwide%2Fiswdigit.html new file mode 100644 index 00000000..f65568b9 --- /dev/null +++ b/devdocs/c/string%2Fwide%2Fiswdigit.html @@ -0,0 +1,145 @@ + <h1 id="firstHeading" class="firstHeading">iswdigit</h1> <table class="t-dcl-begin"> <tr class="t-dsc-header"> <th> Defined in header <code><wctype.h></code> </th> <th> </th> <th> </th> </tr> <tr class="t-dcl"> <td> <pre data-language="c">int iswdigit( wint_t ch );</pre> +</td> <td class="t-dcl-nopad"> </td> <td> <span class="t-mark-rev t-since-c95">(since C95)</span> </td> </tr> </table> <p>Checks if the given wide character corresponds (if narrowed) to one of the ten decimal digit characters <span class="nu19">0123456789</span>.</p> +<h3 id="Parameters"> Parameters</h3> <table class="t-par-begin"> <tr class="t-par"> <td> ch </td> <td> - </td> <td> wide character </td> +</tr> +</table> <h3 id="Return_value"> Return value</h3> <p>Non-zero value if the wide character is a numeric character, zero otherwise.</p> +<h3 id="Notes"> Notes</h3> <p><code>iswdigit</code> and <code><a href="iswxdigit" title="c/string/wide/iswxdigit">iswxdigit</a></code> are the only standard wide character classification functions that are not affected by the currently installed C locale.</p> +<h3 id="Example"> Example</h3> <div class="t-example"> +<p>Some locales offer additional character classes that detect non-ASCII digits</p> +<div class="c source-c"><pre data-language="c">#include <locale.h> +#include <stdio.h> +#include <wchar.h> +#include <wctype.h> + +void test(wchar_t a3, wchar_t u3, wchar_t j3) +{ + printf("\t '%lc' '%lc' '%lc'\n", a3, u3, j3); + printf("iswdigit: %d %d %d\n", + !!iswdigit(a3), + !!iswdigit(u3), + !!iswdigit(j3)); + printf("jdigit: %d %d %d\n", + !!iswctype(a3, wctype("jdigit")), + !!iswctype(u3, wctype("jdigit")), + !!iswctype(j3, wctype("jdigit"))); +} + +int main(void) +{ + wchar_t a3 = L'3'; // the ASCII digit 3 + wchar_t u3 = L'三'; // the CJK numeral 3 + wchar_t j3 = L'3'; // the full-width digit 3 + + setlocale(LC_ALL, "en_US.utf8"); + puts("In American locale:"); + test(a3, u3, j3); + + setlocale(LC_ALL, "ja_JP.utf8"); + puts("\nIn Japanese locale:"); + test(a3, u3, j3); +}</pre></div> <p>Possible output:</p> +<div class="text source-text"><pre data-language="c">In American locale: + '3' '三' '3' +iswdigit: 1 0 0 +jdigit: 0 0 0 + +In Japanese locale: + '3' '三' '3' +iswdigit: 1 0 0 +jdigit: 0 0 1</pre></div> </div> <h3 id="References"> References</h3> <ul> +<li> C23 standard (ISO/IEC 9899:2023): </li> +<ul><li> TBD 7.30.2.1.5 The iswdigit function (p: TBD) </li></ul> +<li> C17 standard (ISO/IEC 9899:2018): </li> +<ul><li> 7.30.2.1.5 The iswdigit function (p: 327) </li></ul> +<li> C11 standard (ISO/IEC 9899:2011): </li> +<ul><li> 7.30.2.1.5 The iswdigit function (p: 449) </li></ul> +<li> C99 standard (ISO/IEC 9899:1999): </li> +<ul><li> 7.25.2.1.5 The iswdigit function (p: 395) </li></ul> +</ul> <h3 id="See_also"> See also</h3> <table class="t-dsc-begin"> <tr class="t-dsc"> <td> <div><a href="../byte/isdigit" title="c/string/byte/isdigit"> <span class="t-lines"><span>isdigit</span></span></a></div> </td> <td> checks if a character is a digit <br> <span class="t-mark">(function)</span> </td> +</tr> <tr class="t-dsc"> <td colspan="2"> <span><a href="https://en.cppreference.com/w/cpp/string/wide/iswdigit" title="cpp/string/wide/iswdigit">C++ documentation</a></span> for <code>iswdigit</code> </td> +</tr> </table> <table class="wikitable"> <tr> <th colspan="3"> ASCII values </th> <th rowspan="2"> characters </th> <th rowspan="2"> <p><a href="../byte/iscntrl" title="c/string/byte/iscntrl"><code>iscntrl</code></a><br> <a href="iswcntrl" title="c/string/wide/iswcntrl"><code>iswcntrl</code></a></p> +</th> <th rowspan="2"> <p><a href="../byte/isprint" title="c/string/byte/isprint"><code>isprint</code></a><br> <a href="iswprint" title="c/string/wide/iswprint"><code>iswprint</code></a></p> +</th> <th rowspan="2"> <p><a href="../byte/isspace" title="c/string/byte/isspace"><code>isspace</code></a><br> <a href="iswspace" title="c/string/wide/iswspace"><code>iswspace</code></a></p> +</th> <th rowspan="2"> <p><a href="../byte/isblank" title="c/string/byte/isblank"><code>isblank</code></a><br> <a href="iswblank" title="c/string/wide/iswblank"><code>iswblank</code></a></p> +</th> <th rowspan="2"> <p><a href="../byte/isgraph" title="c/string/byte/isgraph"><code>isgraph</code></a><br> <a href="iswgraph" title="c/string/wide/iswgraph"><code>iswgraph</code></a></p> +</th> <th rowspan="2"> <p><a href="../byte/ispunct" title="c/string/byte/ispunct"><code>ispunct</code></a> <br> <a href="iswpunct" title="c/string/wide/iswpunct"><code>iswpunct</code></a></p> +</th> <th rowspan="2"> <p><a href="../byte/isalnum" title="c/string/byte/isalnum"><code>isalnum</code></a> <br> <a href="iswalnum" title="c/string/wide/iswalnum"><code>iswalnum</code></a></p> +</th> <th rowspan="2"> <p><a href="../byte/isalpha" title="c/string/byte/isalpha"><code>isalpha</code></a> <br> <a href="iswalpha" title="c/string/wide/iswalpha"><code>iswalpha</code></a></p> +</th> <th rowspan="2"> <p><a href="../byte/isupper" title="c/string/byte/isupper"><code>isupper</code></a><br> <a href="iswupper" title="c/string/wide/iswupper"><code>iswupper</code></a></p> +</th> <th rowspan="2"> <p><a href="../byte/islower" title="c/string/byte/islower"><code>islower</code></a><br> <a href="iswlower" title="c/string/wide/iswlower"><code>iswlower</code></a></p> +</th> <th rowspan="2"> <p><a href="../byte/isdigit" title="c/string/byte/isdigit"><code>isdigit</code></a><br> <strong class="selflink"><code>iswdigit</code></strong></p> +</th> <th rowspan="2"> <p><a href="../byte/isxdigit" title="c/string/byte/isxdigit"><code>isxdigit</code></a><br> <a href="iswxdigit" title="c/string/wide/iswxdigit"><code>iswxdigit</code></a></p> +</th> +</tr> <tr> <th> decimal </th> <th> hexadecimal </th> <th> octal </th> +</tr> <tr> <td> 0–8 </td> <td> <code>\x0</code>–<code>\x8</code> </td> <td> <code>\0</code>–<code>\10</code> </td> <td> control codes (<code>NUL</code>, etc.) </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> +</tr> <tr> <td> 9 </td> <td> <code>\x9</code> </td> <td> <code>\11</code> </td> <td> tab (<code>\t</code>) </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> +</tr> <tr> <td> 10–13 </td> <td> <code>\xA</code>–<code>\xD</code> </td> <td> <code>\12</code>–<code>\15</code> </td> <td> whitespaces (<code>\n</code>, <code>\v</code>, <code>\f</code>, <code>\r</code>) </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> +</tr> <tr> <td> 14–31 </td> <td> <code>\xE</code>–<code>\x1F</code> </td> <td> <code>\16</code>–<code>\37</code> </td> <td> control codes </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> +</tr> <tr> <td> 32 </td> <td> <code>\x20</code> </td> <td> <code>\40</code> </td> <td> space </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> +</tr> <tr> <td> 33–47 </td> <td> <code>\x21</code>–<code>\x2F</code> </td> <td> <code>\41</code>–<code>\57</code> </td> <td> <code>!"#$%&'()*+,-./</code> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> +</tr> <tr> <td> 48–57 </td> <td> <code>\x30</code>–<code>\x39</code> </td> <td> <code>\60</code>–<code>\71</code> </td> <td> <code>0123456789</code> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> +</tr> <tr> <td> 58–64 </td> <td> <code>\x3A</code>–<code>\x40</code> </td> <td> <code>\72</code>–<code>\100</code> </td> <td> <code>:;<=>?@</code> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> +</tr> <tr> <td> 65–70 </td> <td> <code>\x41</code>–<code>\x46</code> </td> <td> <code>\101</code>–<code>\106</code> </td> <td> <code>ABCDEF</code> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> +</tr> <tr> <td> 71–90 </td> <td> <code>\x47</code>–<code>\x5A</code> </td> <td> <code>\107</code>–<code>\132</code> </td> <td> <code>GHIJKLMNOP</code><br><code>QRSTUVWXYZ</code> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> +</tr> <tr> <td> 91–96 </td> <td> <code>\x5B</code>–<code>\x60</code> </td> <td> <code>\133</code>–<code>\140</code> </td> <td> <code>[\]^_`</code> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> +</tr> <tr> <td> 97–102 </td> <td> <code>\x61</code>–<code>\x66</code> </td> <td> <code>\141</code>–<code>\146</code> </td> <td> <code>abcdef</code> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> +</tr> <tr> <td> 103–122 </td> <td> <code>\x67</code>–<code>\x7A</code> </td> <td> <code>\147</code>–<code>\172</code> </td> <td> <code>ghijklmnop</code><br><code>qrstuvwxyz</code> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> +</tr> <tr> <td> 123–126 </td> <td> <code>\x7B</code>–<code>\x7E</code> </td> <td> <code>\172</code>–<code>\176</code> </td> <td> <code>{|}~</code> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> +</tr> <tr> <td> 127 </td> <td> <code>\x7F</code> </td> <td> <code>\177</code> </td> <td> backspace character (<code>DEL</code>) </td> <td class="table-yes"> +<b><code>≠0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> <td class="table-no"> <b><code>0</code></b> </td> +</tr> +</table> <div class="_attribution"> + <p class="_attribution-p"> + © cppreference.com<br>Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.<br> + <a href="https://en.cppreference.com/w/c/string/wide/iswdigit" class="_attribution-link">https://en.cppreference.com/w/c/string/wide/iswdigit</a> + </p> +</div> |
