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.
La fonction memmove_s ajoute les contrôles de bornes de l'annexe K à la logique de memmove. Elle reste adaptée aux copies entre deux zones qui se chevauchent.
Paramètres
destination : bloc mémoire de destination.
destinationSize : taille totale du bloc de destination.
source : bloc mémoire source.
size : nombre d'octets à déplacer.
Valeur de retour
La fonction retourne 0 en cas de succès et un code d'erreur non nul en cas de violation de contrainte.
Exemple de code
Le programme suivant montre une utilisation simple de memmove_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 buffer[] = "abcdef";
memmove_s( buffer + 2, sizeof buffer - 2, buffer, 4 );
puts( buffer );
#else
puts( "L'annexe K n'est pas disponible sur cette implementation." );
#endifreturn 0;
}
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 :