名前空間
変種
操作

wcspbrk

From cppreference.com
< c‎ | string‎ | wide
 
 
 
 
ヘッダー <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* です。
  • それ以外の場合、動作は未定義です。
これらの汎用関数のマクロ定義が抑制され、実際の関数にアクセスする場合(例: (wcspbrk) を使用したり、関数ポインタを使用したりする場合)、実際の関数宣言 (1) が可視になります。

目次

[編集] パラメータ

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); // find separator
       if (str) str += wcsspn(str, sep); // skip separator
       ++cnt; // increment word count
    } while (str && *str);
 
    wprintf(L"There are %u words.\n", cnt);
}

出力

There are 5 words.

[編集] 参考文献

  • C11標準 (ISO/IEC 9899:2011)
  • 7.29.4.5.3 The wcspbrk function (p: 436)
  • C99標準 (ISO/IEC 9899:1999)
  • 7.24.4.5.3 The wcspbrk function (p: 382)

[編集] 関連項目

以下から成る最大の初期セグメントの長さを返す
他のワイド文字列に見つからないワイド文字のみで構成される
(関数) [編集]
(C95)
ワイド文字列内でワイド文字が最初に現れる場所を見つける
(関数) [編集]
ある文字列に含まれる任意の文字が、別の文字列で最初に出現する位置を見つける
(関数) [編集]
C++ ドキュメントwcspbrk について)
English 日本語 中文(简体) 中文(繁體)