Section courante

A propos

Section administrative du site

MEMSET

Fixe la mémoire
SVID 3, POSIX, BSD 4.3, ISO 9899 string.h

Syntaxe

void *memset(void *s, int c, size_t n);

Paramètres

Nom Description
s Ce paramètre permet d'indiquer le tampon à traiter
c Ce paramètre permet d'indiquer le caractère à copier
n Ce paramètre permet d'indiquer la taille du tampon en octets

Description

Cette fonction permet de remplir avec un caractère un tampon de «n» octets.

Exemples

Voici un exemple permettant d'initialiser tous les valeurs d'une structure de données rapidement :

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main() {
  6.  struct {
  7.   double X1;
  8.   double Y1;
  9.   double X2;
  10.   double Y2;
  11.   char titre[255];
  12.  } coord;
  13.  memset(&coord,0,sizeof(coord));
  14.  printf("X1 = %f\n",coord.X1);
  15.  printf("Y1 = %f\n",coord.Y1);
  16.  printf("X2 = %f\n",coord.X2);
  17.  printf("Y2 = %f\n",coord.Y2);
  18.  printf("titre = %s\n",coord.titre);
  19.  return 0;
  20. }

on obtiendra le résultat suivant :

X1 = 0.000000
Y1 = 0.000000
X2 = 0.000000
Y2 = 0.000000
titre =

Cet exemple permet de répéter le caractère astérisque 50 fois :

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. int main() {
  6.  char DuplicateString[255];
  7.  memset(&DuplicateString,'*',50);
  8.  DuplicateString[50] = 0;
  9.  printf("DuplicateString = %s\n",DuplicateString);
  10.  return 0;
  11. }

on obtiendra le résultat suivant :

DuplicateString = **************************************************

Voir également

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

Dernière mise à jour : Samedi, le 27 juin 2015