wcspbrk
From cppreference.net
|
ヘッダーで定義
<wchar.h>
|
||
|
wchar_t
*
wcspbrk
(
const
wchar_t
*
dest,
const
wchar_t
*
str
)
;
|
(1) | (C95以降) |
|
/*QWchar_t*/
*
wcspbrk
(
/*QWchar_t*/
*
dest,
const
wchar_t
*
str
)
;
|
(2) | (C23以降) |
1)
ワイド文字列
dest
が指す文字列の中で、
str
が指すワイド文字列にも含まれる最初の文字を検索します。
2)
型ジェネリック関数で
(1)
と同等の機能を持つ。
T
を修飾子のないワイド文字オブジェクト型とする。
-
-
destの型が const T * の場合、戻り値の型は const wchar_t * となる。 -
それ以外の場合、
destの型が T * の場合、戻り値の型は wchar_t * となる。 - それ以外の場合、動作は未定義となる。
-
目次 |
パラメータ
| dest | - | 解析対象のヌル終端ワイド文字列へのポインタ |
| src | - | 検索対象の文字を含むヌル終端ワイド文字列へのポインタ |
戻り値
dest
内に存在し、かつ
str
内にも存在する最初の文字へのポインタ。
該当する文字が存在しない場合はヌルポインタを返す。
注記
この名前は「ワイド文字列ポインタブレーク」を意味します。これは、セパレータ(「ブレーク」)文字の最初の文字へのポインタを返すためです。
例
このコードを実行
#include <stdio.h> #include <wchar.h> int main(void) { const wchar_t* str = L"Hello world, friend of mine!"; const wchar_t* sep = L" ,!"; unsigned int cnt = 0; do { str = wcspbrk(str, sep); // セパレータを検索 if (str) str += wcsspn(str, sep); // セパレータをスキップ ++cnt; // 単語カウントをインクリメント } while (str && *str); wprintf(L"There are %u words.\n", cnt); }
出力:
There are 5 words.