memcpy_s

De RAD Studio
Aller à : navigation, rechercher

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

+

+

+

+

Voir aussi