iswspace
From cppreference.com
C
Concurrency support (C11)
Null-terminated wide strings
Character manipulation
Conversions to numeric formats
String manipulation
Array manipulation
Types
Macros
(C95)
(C95)
(C95)
(C95)
(C95)
(C95)
(C99)
(C95)(C99)
(C99)(C95)(C99)
(C95)(C11)
(C95)(C11)
(C95)
(C95)(C95)
(C95)(C95)
(C95)
Defined in header
<wctype.h>
int iswspace( wint_t ch );
(since C95)
Checks if the given wide character is a whitespace character, i.e. either space (0x20
), form feed (0x0c
), line feed (0x0a
), carriage return (0x0d
), horizontal tab (0x09
), vertical tab (0x0b
) or any whitespace character specific to the current locale.
[edit] Parameters
ch
-
wide character
[edit] Return value
Non-zero value if the wide character is a whitespace character, zero otherwise.
[edit] Notes
ISO 30112 defines POSIX space characters as Unicode characters U+0009..U+000D, U+0020, U+1680, U+180E, U+2000..U+2006, U+2008..U+200A, U+2028, U+2029, U+205F, and U+3000.
[edit] Example
Run this code
#include <locale.h> #include <stdio.h> #include <wchar.h> #include <wctype.h> int main(void) { wchar_t c = L'\u2003'; // Unicode character 'EM SPACE' printf ("In the default locale, iswspace(%#x) = %d\n", c, !!iswspace(c)); setlocale (LC_ALL, "en_US.utf8"); printf ("In Unicode locale, iswspace(%#x) = %d\n", c, !!iswspace(c)); }
Output:
In the default locale, iswspace(0x2003) = 0 In Unicode locale, iswspace(0x2003) = 1
[edit] References
- C23 standard (ISO/IEC 9899:2024):
- 7.30.2.1.10 The iswspace function (p: TBD)
- C17 standard (ISO/IEC 9899:2018):
- 7.30.2.1.10 The iswspace function (p: TBD)
- C11 standard (ISO/IEC 9899:2011):
- 7.30.2.1.10 The iswspace function (p: 450-451)
- C99 standard (ISO/IEC 9899:1999):
- 7.25.2.1.10 The iswspace function (p: 396-397)
[edit] See also
C++ documentation for iswspace
ASCII values | characters |
isspace |
|||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
decimal | hexadecimal | octal | |||||||||||||
0–8 | \x0 –\x8
|
0円 –10円
|
control codes (NUL , etc.)
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
9 | \x9
|
11円
|
tab (\t )
|
≠0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
10–13 | \xA –\xD
|
12円 –15円
|
whitespaces (\n , \v , \f , \r )
|
≠0
|
0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
14–31 | \xE –\x1F
|
16円 –37円
|
control codes | ≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
32 | \x20
|
40円
|
space | 0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
33–47 | \x21 –\x2F
|
41円 –57円
|
!"#$%&'()*+,-./
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
48–57 | \x30 –\x39
|
60円 –71円
|
0123456789
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
0
|
0
|
0
|
≠0
|
≠0
|
58–64 | \x3A –\x40
|
72円 –100円
|
:;<=>?@
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
65–70 | \x41 –\x46
|
101円 –106円
|
ABCDEF
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
≠0
|
71–90 | \x47 –\x5A
|
107円 –132円
|
GHIJKLMNOP QRSTUVWXYZ
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
≠0
|
0
|
0
|
0
|
91–96 | \x5B –\x60
|
133円 –140円
|
[\]^_`
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
97–102 | \x61 –\x66
|
141円 –146円
|
abcdef
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
0
|
≠0
|
0
|
≠0
|
103–122 | \x67 –\x7A
|
147円 –172円
|
ghijklmnop qrstuvwxyz
|
0
|
≠0
|
0
|
0
|
≠0
|
0
|
≠0
|
≠0
|
0
|
≠0
|
0
|
0
|
123–126 | \x7B –\x7E
|
173円 –176円
|
{|}~
|
0
|
≠0
|
0
|
0
|
≠0
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
127 | \x7F
|
177円
|
backspace character (DEL )
|
≠0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|
0
|