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%2Fiswprint.html | |
new repository
Diffstat (limited to 'devdocs/c/string%2Fwide%2Fiswprint.html')
| -rw-r--r-- | devdocs/c/string%2Fwide%2Fiswprint.html | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/devdocs/c/string%2Fwide%2Fiswprint.html b/devdocs/c/string%2Fwide%2Fiswprint.html new file mode 100644 index 00000000..0fb25886 --- /dev/null +++ b/devdocs/c/string%2Fwide%2Fiswprint.html @@ -0,0 +1,119 @@ + <h1 id="firstHeading" class="firstHeading">iswprint</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 t-since-c95"> <td> <pre data-language="c">int iswprint( 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 can be printed, i.e. it is either a number (<code>0123456789</code>), an uppercase letter (<code>ABCDEFGHIJKLMNOPQRSTUVWXYZ</code>), a lowercase letter (<code>abcdefghijklmnopqrstuvwxyz</code>), a punctuation character (<code>!"#$%&'()*+,-./:;<=>?@[\]^_`{!}~</code>), space or any printable character specific to the current C locale.</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 can be printed, zero otherwise.</p> +<h3 id="Notes"> Notes</h3> <p><a rel="nofollow" class="external text" href="http://www.open-std.org/JTC1/SC35/WG5/docs/30112d10.pdf">ISO 30112</a> specifies which Unicode characters are included in POSIX print category.</p> +<h3 id="Example"> Example</h3> <div class="t-example"> <div class="c source-c"><pre data-language="c">#include <locale.h> +#include <stdio.h> +#include <wchar.h> +#include <wctype.h> + +int main(void) +{ + wchar_t c = L'\u2002'; // Unicode character 'EN SPACE' + printf("in the default locale, iswprint(%#x) = %d\n", c, !!iswprint(c)); + setlocale(LC_ALL, "en_US.utf8"); + printf("in Unicode locale, iswprint(%#x) = %d\n", c, !!iswprint(c)); + wchar_t c2 = L'\x82'; // break permitted + printf("in Unicode locale, iswprint(%#x) = %d\n", c2, !!iswprint(c2)); +}</pre></div> <p>Output:</p> +<div class="text source-text"><pre data-language="c">in the default locale, iswprint(0x2002) = 0 +in Unicode locale, iswprint(0x2002) = 1 +in Unicode locale, iswprint(0x82) = 0</pre></div> </div> <h3 id="References"> References</h3> <ul> +<li> C23 standard (ISO/IEC 9899:2023): </li> +<ul><li> 7.30.2.1.8 The iswprint function (p: TBD) </li></ul> +<li> C17 standard (ISO/IEC 9899:2018): </li> +<ul><li> 7.30.2.1.8 The iswprint function (p: TBD) </li></ul> +<li> C11 standard (ISO/IEC 9899:2011): </li> +<ul><li> 7.30.2.1.8 The iswprint function (p: 450) </li></ul> +<li> C99 standard (ISO/IEC 9899:1999): </li> +<ul><li> 7.25.2.1.8 The iswprint function (p: 396) </li></ul> +</ul> <h3 id="See_also"> See also</h3> <table class="t-dsc-begin"> <tr class="t-dsc"> <td> <div><a href="../byte/isprint" title="c/string/byte/isprint"> <span class="t-lines"><span>isprint</span></span></a></div> </td> <td> checks if a character is a printing character <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/iswprint" title="cpp/string/wide/iswprint">C++ documentation</a></span> for <code>iswprint</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> <strong class="selflink"><code>iswprint</code></strong></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> <a href="iswdigit" title="c/string/wide/iswdigit"><code>iswdigit</code></a></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/iswprint" class="_attribution-link">https://en.cppreference.com/w/c/string/wide/iswprint</a> + </p> +</div> |
