Namespaces
Variants

wmemchr

From cppreference.net
< c ‎ | string ‎ | wide
Definiert in Header <wchar.h>
wchar_t * wmemchr ( const wchar_t * ptr, wchar_t ch, size_t count ) ;
(1) (seit C95)
/*QWchar_t*/ * wmemchr ( /*Qwchar_t*/ * ptr, wchar_t ch, size_t count ) ;
(2) (seit C23)
1) Findet das erste Vorkommen des Breitzeichen ch in den ersten count Breitzeichen des Breitzeichen-Arrays oder Integer-Arrays kompatiblen Typs, auf das ptr zeigt.
2) Typgenerische Funktionsäquivalent zu (1) . Sei T ein unqualifizierter Breitzeichen-Objekttyp.
  • Falls ptr vom Typ const T * ist, ist der Rückgabetyp const wchar_t * .
  • Andernfalls, falls ptr vom Typ T * ist, ist der Rückgabetyp wchar_t * .
  • Andernfalls ist das Verhalten undefiniert.
Falls eine Makrodefinition jeder dieser generischen Funktionen unterdrückt wird, um auf eine tatsächliche Funktion zuzugreifen (z.B. wenn ( wmemchr ) oder ein Funktionszeiger verwendet wird), wird die tatsächliche Funktionsdeklaration (1) sichtbar.

Wenn count null ist, gibt die Funktion einen Nullzeiger zurück.

Inhaltsverzeichnis

Parameter

ptr - Zeiger auf das zu untersuchende Breitzeichen-Array
ch - zu suchendes Breitzeichen
count - Anzahl der zu untersuchenden Breitzeichen

Rückgabewert

Zeiger auf die Position des Breitzeichens oder ein Nullzeiger, falls kein solches Zeichen gefunden wird.

Beispiel

#include <locale.h>
#include <stdio.h>
#include <wchar.h>
int main(void)
{
    wchar_t str[] = L"诺不轻信,故人不负我\0诺不轻许,故我不负人。";
    size_t sz = sizeof str / sizeof *str;
    wchar_t target = L'许';
    wchar_t* result = wmemchr(str, target, sz);
    if (result)
    {
        setlocale(LC_ALL, "en_US.utf8");
        printf("Found '%lc' at position %td\n",target, result - str);
    }
}

Mögliche Ausgabe:

Found '许' at position 14

Referenzen

  • C23-Standard (ISO/IEC 9899:2024):
  • 7.29.4.5.8 Die wmemchr-Funktion (S.: TBD)
  • C17-Standard (ISO/IEC 9899:2018):
  • 7.29.4.5.8 Die wmemchr-Funktion (S.: TBD)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.29.4.5.8 Die wmemchr-Funktion (S: 438)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.24.4.5.8 Die wmemchr-Funktion (S: 384)

Siehe auch

durchsucht ein Array nach dem ersten Vorkommen eines Zeichens
(Funktion)
(C95)
findet das erste Vorkommen eines Breitzeichens in einer Breitzeichenkette
(Funktion)
C++-Dokumentation für wmemchr