Section courante

A propos

Section administrative du site

MEMCHR

Recherche mémoire
Langage C string.h

Syntaxe

void *memchr(const void *tampon, int caractere, size_t n);

Paramètres

Nom Description
tampon Ce paramètre permet d'indiquer le tampon dans lequel la recherche doit avoir lieu
n Ce paramètre permet d'indiquer la taille du tampon en octets
caractere Ce paramètre permet d'indiquer la caractère à rechercher

Description

Cette fonction permet de rechercher un caractère dans le tampon de «n» octets.

Algorithme

MODULE MEMCHR(ptr, c, n)
   * Parcours les n premiers octets de la zone mémoire pointée par ptr
   BOUCLE POUR i ← 0 JUSQU'A n - 1 FAIRE
      * Si l'octet à la position i est égal à c
      SI ptr[i] = c ALORS
         * Retourner un pointeur vers la position trouvée
         RETOURNE ptr + i
      FIN SI
   FIN BOUCLE POUR

   * Si aucune correspondance n'a été trouvée, retourner NULL
   RETOURNE NULL

Remarques

Exemple

Voici un exemple montrant l'utilisation de cette fonction :

Essayer maintenant !
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main() {
  6.  char String[255];
  7.  memset(&String,'*',50);
  8.  String[25] = '?';
  9.  String[50] = 0;
  10.  printf("'?' FIND ? %s\n",memchr(String,'?',50) ? "TRUE":"FALSE");
  11.  printf("'a' FIND ? %s\n",memchr(String,'a',50) ? "TRUE":"FALSE");
  12.  printf("'*' FIND ? %s\n",memchr(String,'*',50) ? "TRUE":"FALSE");
  13.  printf("'0' FIND ? %s\n",memchr(String,'0',50) ? "TRUE":"FALSE");
  14.  printf("Retour du '?' = %s\n",memchr(String,'?',50));
  15.  return 0;
  16. }

on obtiendra le résultat suivant :

'?' FIND ? TRUE
'a' FIND ? FALSE
'*' FIND ? TRUE
'0' FIND ? FALSE
Retour du '?' = ?************************

Voir également

Langage de programmation - C++ - Référence de procédures et fonctions - memchr

Références

Langage C, Edition Micro-Application, Gehard Willms, 2001, ISBN: 2-7429-2008-0, page 733.
Borland C++ for Windows 4.0, Library Reference, Edition Borland, 1993, Part # BCP1240WW21772, page 174.

Dernière mise à jour : Mardi, le 28 juillet 2015