名前空間
変種
操作

wcsstr

From cppreference.com
< c‎ | string‎ | wide
 
 
 
 
ヘッダー <wchar.h> で定義
wchar_t *wcsstr( const wchar_t *dest, const wchar_t *src );
(1) (C95 以降)
/*QWchar_t*/ *wcsstr( /*QWchar_t*/ *dest, const wchar_t *src );
(2) (C23以降)
1)ワイド文字列dest内で、ワイド文字列srcの最初の出現箇所を検索します。終端のヌル文字は比較されません。
2) 型汎用関数。(1) と同等です。`T` は修飾されていないワイド文字オブジェクト型とします。
  • destの型がconst T*の場合、戻り値の型はconst wchar_t*になります。
  • それ以外の場合、destの型がT*の場合、戻り値の型はwchar_t*になります。
  • それ以外の場合、動作は未定義です。
これらの汎用関数のマクロ定義が抑制され、実際の関数にアクセスできる場合(例:(wcsstr)が使用された場合や、関数ポインタが使用された場合)、実際の関数宣言(1)が表示されます。

目次

[編集] パラメータ

dest - 検査対象の、ヌル終端のワイド文字列へのポインタ
src - 検索対象の、ヌル終端のワイド文字列へのポインタ

[編集] 戻り値

見つかった部分文字列がdest内で始まる文字へのポインタ。そのような部分文字列が見つからなかった場合は、ヌルポインタ。srcが空文字列を指す場合、destが返されます。

[編集]

#include <stdio.h>
#include <locale.h>
#include <wchar.h>
 
int main(void)
{
    setlocale(LC_ALL, "ru_RU.UTF-8");
 
    wchar_t str[5][64] = {
        L"Строка, где есть подстрока 'но'.",
        L"Строка, где такой подстроки нет.",
        L"Он здесь.",
        L"Здесь он.",
        L"Его нет."
    };
 
    for (size_t i = 0; i < 5; ++i) {
        if (wcsstr(str[i], L"но")) {
            wprintf(L"%ls\n", str[i]);
        }
    }
}

出力

Строка, где есть подстрока 'но'.

[編集] 参考文献

  • C11標準 (ISO/IEC 9899:2011)
  • 7.29.4.5.6 The wcsstr function (p: 437)
  • C99標準 (ISO/IEC 9899:1999)
  • 7.24.4.5.6 The wcsstr function (p: 383)

[編集] 関連項目

(C95)
ワイド文字列内でワイド文字が最初に現れる場所を見つける
(関数) [編集]
ワイド文字列内でワイド文字が最後に現れる場所を見つける
(関数) [編集]
English 日本語 中文(简体) 中文(繁體)