CAB
Uhr
EOF
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

memchr, wmemchr

Sucht Zeichen in einem Puffer.

void *memchr(
   const void *buf,
   int c,
   size_t count
); // C only
void *memchr(
   void *buf,
   int c,
   size_t count
); // C++ only
const void *memchr(
   const void *buf,
   int c,
   size_t count
); // C++ only
wchar_t *wmemchr(
   const wchar_t * buf, 
   wchar_t c,
   size_t count
); // C only
wchar_t *wmemchr(
   wchar_t * buf, 
   wchar_t c,
   size_t count
); // C++ only
const wchar_t *wmemchr(
   const wchar_t * buf, 
   wchar_t c,
   size_t count
); // C++ only
buf

Zeiger auf den Puffer.

c

Der zu suchende Zeichen.

count

Die Anzahl der zu überprüfenden Zeichen.

Bei Erfolg gibt einen Zeiger auf das erste Position von c in bufzurück. Andernfalls gibt es NULLzurück.

memchr und suchen wmemchr nach dem ersten Vorkommen von c in den ersten count Bytes aus buf. Er hört auf, wenn er c findet oder wenn er die erste count Bytes überprüft wurde.

In C nehmen diese Funktionen const einen Zeiger für das erste Argument. In C++ sind zwei Überladungen verfügbar. Die Überladung nimmt einen Zeiger const , die einen Zeiger auf constzurück. die Version, die für Nicht-const einen Zeiger setzt, gibt einen Zeiger auf Nicht-constzurück. Das Makro- CONST CORRECT OVERLOADS wird definiert, wenn const und Nicht-const-Versionen dieser Funktionen verfügbar sind. Wenn Sie das Verhalten für beideconst Nicht- C++-overloadsin C++ erforderlich ist, definieren Sie das Symbol _CONST_RETURN.

Routine

Erforderlicher Header

memchr

<memory.h> oder <string.h>

wmemchr

<wchar.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Bibliotheken

Alle Versionen Cs.

// crt_memchr.c

#include <memory.h>
#include <stdio.h>

int  ch = 'r';
char str[] =    "lazy";
char string[] = "The quick brown dog jumps over the lazy fox";
char fmt1[] =   "         1         2         3         4         5";
char fmt2[] =   "12345678901234567890123456789012345678901234567890";

int main( void )
{
   char *pdest;
   int result;
   printf( "String to be searched:\n             %s\n", string );
   printf( "             %s\n             %s\n\n", fmt1, fmt2 );

   printf( "Search char: %c\n", ch );
   pdest = memchr( string, ch, sizeof( string ) );
   result = (int)(pdest - string + 1);
   if ( pdest != NULL )
      printf( "Result:      %c found at position %d\n", ch, result );
   else
      printf( "Result:      %c not found\n" );
}
String to be searched:
             The quick brown dog jumps over the lazy fox
                      1         2         3         4         5
             12345678901234567890123456789012345678901234567890

Search char: r
Result:      r found at position 12

Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.

Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.