Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Fonction memset_s (C11)

La fonction memset_explicit La fonction stpcpy


Entête à inclure

#define __STDC_WANT_LIB_EXT1__ 1
#include <string.h>  // <cstring> en C++

Fonction memset_s (C11)

errno_t memset_s( void * buffer, rsize_t bufferSize, int value, rsize_t size );

La fonction memset_s remplit une zone mémoire en ajoutant un contrôle de taille. Comme memset_explicit, elle est conçue pour ne pas disparaître lors des optimisations.

Paramètres

Valeur de retour

La fonction retourne 0 si le remplissage est accepté, sinon un code d'erreur non nul.

Exemple de code

Le programme suivant montre une utilisation simple de memset_s.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
#define __STDC_WANT_LIB_EXT1__ 1
#include <stdio.h>
#include <string.h>

int main() {

#ifdef __STDC_LIB_EXT1__
    char password[] = "secret";
    memset_s( password, sizeof password, 0, strlen( password ) );
    puts( "Buffer nettoye." );
#else
    puts( "L'annexe K n'est pas disponible sur cette implementation." );
#endif

    return 0;
}
Exemple d'utilisation de memset_s

Voici le résultat produit par cet exemple.

Buffer nettoye.

Sujets connexes

memset
memset_explicit


La fonction memset_explicit La fonction stpcpy




Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé