std::wmemchr
Определён в заголовочном файле <cwchar> | ||
|---|---|---|
const wchar_t* wmemchr( const wchar_t* ptr, wchar_t ch, std::size_t count ); | (1) | |
wchar_t* wmemchr( wchar_t* ptr, wchar_t ch, std::size_t count ); | (2) |
Находит первое вхождение широкого символа ch среди первых count широких символов массива широких символов, на который указывает ptr.
Если count равно нулю, функция возвращает нулевой указатель.
Параметры
| ptr | - | указатель на массив широких символов для проверки |
| ch | - | широкий символ, который требуется найти |
| count | - | количество широких символов для проверки |
Возвращаемое значение
Указатель на позицию широкого символа или нулевой указатель, если такой символ не найден.
Пример
#include <clocale>
#include <cwchar>
#include <iostream>
#include <locale>
int main()
{
const wchar_t str[] = L"诺不轻信,故人不负我\0诺不轻许,故我不负人。";
wchar_t target = L'许';
const std::size_t sz = sizeof str / sizeof *str;
if (const wchar_t* result = std::wmemchr(str, target, sz))
{
std::setlocale(LC_ALL, "en_US.utf8");
std::wcout.imbue(std::locale("en_US.utf8"));
std::wcout << "Found '" << target << "' at position " << result - str << '\n';
}
}
Возможный вывод:
Found '许' at position 14
См. также
| ищет первое вхождение символа в массиве (функция) |
|
| находит первое вхождение символа (функция) |
|
| находит первое вхождение широкого символа в строке широких символов (функция) |
|
|
(C++11) | находит первый элемент, удовлетворяющий заданным критериям (шаблон функции и функциональный объект алгоритма) |
|
(C++20)(C++20)(C++20) | |
Документация по C для wmemchr |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/string/wide/wmemchr