memcpy_s
Remonter à mem.h - Index
Fichier en-tête
mem.h, string.h
Catégorie
Routines de mémoire et de manipulation de chaînes, routines inline
Prototype
void _FAR * _RESTRICT __dest, rsize_t __destmax, const void _FAR * _RESTRICT __src, rsize_t __n);
Description
Remplace memcpy, _wmemcpy en ajoutant des améliorations relatives à la sécurité.
memcpy est disponible sur les systèmes UNIX System V.
memcpy_s copie un bloc de __n octets de __src dans __dest. Si __src et __dest se chevauchent, le comportement de memcpy_s est indéfini.
Valeur renvoyée
memcpy_s renvoie zéro en cas de succès, sinon une valeur différente de zéro.
Exemple
#include <stdio.h> #include <string.h> int main(void) { char src[] = "******************************"; char dest[] = "abcdefghijlkmnopqrstuvwxyz0123456709"; printf("destination before memcpy: %s\n", dest); if(!memcpy_s(dest, strlen(dest), src, strlen(src))){ printf("destination after memcpy: %s\n", dest); } else{ printf("memcpy failed\n"); } return 0; }
Portabilité
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
memcpy_s |
+ |
+ |
+ |
+ |