Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés
Esta documentación está archivada y no tiene mantenimiento.

memchr, wmemchr

Caracteres de búsqueda en un búfer.

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

Puntero al búfer.

c

Carácter que se va a buscar.

count

Número de caracteres que se va a comprobar.

Si finaliza correctamente, devuelve un puntero a la primera ubicación de c en buf. si no devuelve NULL.

memchr y wmemchr buscan la primera aparición de c en los primeros bytes de count de buf. detiene cuando encuentra c o cuando ha comprobado los primeros bytes de count .

En C, estas funciones toman un puntero de const para el primer argumento. En C++, dos sobrecargas están disponibles. la sobrecarga que toma un puntero a const devuelve un puntero a const; la versión que contiene un punteroconst no devuelve un puntero aconstno. El _CONST_CORRECT_OVERLOADS macro se define si const y las versiones no deconst de estas funciones están disponibles. Si requiere el comportamiento no deconst para ambos overloadsin C++ de C++, defina el _CONST_RETURN de símbolos.

rutina

Encabezado necesario

memchr

<memory.h> o <string.h>

wmemchr

<wchar.h>

Para obtener más información sobre la compatibilidad, vea compatibilidad.

bibliotecas

// 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

No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea La invocación de plataforma ejemplos.

Mostrar: