memchr
, wmemchr
Rechercher des caractères dans une mémoire tampon.
Syntaxe
void *memchr(
const void *buffer,
int c,
size_t count
); // C only
void *memchr(
void *buffer,
int c,
size_t count
); // C++ only
const void *memchr(
const void *buffer,
int c,
size_t count
); // C++ only
wchar_t *wmemchr(
const wchar_t * buffer,
wchar_t c,
size_t count
); // C only
wchar_t *wmemchr(
wchar_t * buffer,
wchar_t c,
size_t count
); // C++ only
const wchar_t *wmemchr(
const wchar_t * buffer,
wchar_t c,
size_t count
); // C++ only
Paramètres
buffer
Pointeur désignant la mémoire tampon.
c
Caractère à rechercher.
count
Nombre de caractères à vérifier.
Valeur retournée
En cas de réussite, retourne un pointeur désignant le premier emplacement de c
dans buffer
. Sinon, elle retourne NULL.
Notes
memchr
et wmemchr
recherchez la première occurrence des c
premiers count
caractères de buffer
. Il s’arrête lorsqu’il trouve c
ou lorsqu’il a case activée les premiers count
caractères.
En C, ces fonctions acceptent un pointeur const
comme premier argument. En C++, deux surcharges sont disponibles. La surcharge acceptant un pointeur vers const
retourne un pointeur vers const
; la version qui accepte un pointeur vers non-const
retourne un pointeur vers non-const
. La macro _CRT_CONST_CORRECT_OVERLOADS
est définie si les const
versions et non-versionsconst
de ces fonctions sont disponibles. Si vous avez besoin du comportement non-comportementconst
pour les deux surcharges C++ en C++, définissez le symbole _CONST_RETURN
.
Spécifications
Routine | En-tête requis |
---|---|
memchr |
<memory.h> ou <string.h> |
wmemchr |
<wchar.h> |
Pour plus d'informations sur la compatibilité, consultez Compatibilité.
Bibliothèques
Toutes les versions des bibliothèques Runtime C.
Exemple
// 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" );
}
Sortie
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
Voir aussi
Manipulation des mémoires tampons
_memccpy
memcmp
, wmemcmp
memcpy
, wmemcpy
memset
, wmemset
strchr
, wcschr
, _mbschr
, _mbschr_l
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour