Namensräume
Varianten
Aktionen

wmemchr

Von cppreference.com
< 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) Sucht das erste Vorkommen des Wide-Zeichens ch in den ersten count Wide-Zeichen des Wide-Zeichen-Arrays oder Integer-Arrays kompatiblen Typs, auf das ptr zeigt.
2) Typ-generische Funktion, äquivalent zu (1). Sei T ein unqualified Wide-Character-Objekttyp.
  • Wenn ptr vom Typ const T* ist, ist der Rückgabetyp const wchar_t*.
  • Andernfalls, wenn ptr vom Typ T* ist, ist der Rückgabetyp wchar_t*.
  • Andernfalls ist das Verhalten undefiniert.
Wenn 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.

Inhalt

[bearbeiten] Parameter

ptr - Zeiger auf das zu untersuchende Wide-Zeichen-Array
ch - Wide-Zeichen, nach dem gesucht werden soll
zählt - Anzahl der zu untersuchenden Weitzeichen

[bearbeiten] Rückgabewert

Zeiger auf die Position des Wide-Zeichens oder ein Nullzeiger, wenn kein solches Zeichen gefunden wird.

[bearbeiten] 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

[bearbeiten] Referenzen

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

[bearbeiten] Siehe auch

durchsucht ein Array nach dem ersten Vorkommen eines Zeichens
(Funktion) [bearbeiten]
(C95)
findet das erste Vorkommen eines breiten Zeichens in einer breiten Zeichenkette
(Funktion) [bearbeiten]
C++ Dokumentation für wmemchr