strncpy_s, wcsncpy_s

De RAD Studio
Aller à : navigation, rechercher

Remonter à string.h - Index


Fichier en-tête

string.h, mbstring.h

Catégorie

Routines de mémoire et de manipulation de chaînes, routines inline

Prototype

errno_t strncpy_s(char * _RESTRICT dest, rsize_t destmax, const char * _RESTRICT src, rsize_t n);

errno_t wcsncpy_s(wchar_t * _RESTRICT dest, rsize_t destmax, const wchar_t * _RESTRICT src, rsize_t n);

Description

Remplace Strncpy, mbsncpy, wcsncpy en ajoutant des améliorations relatives à la sécurité.

Copie un nombre donné d'octets d'une chaîne à une autre, en tronquant ou en complétant si nécessaire.

strncpy_s copie jusqu'à n caractères de src dans dest, en tronquant ou en complétant par des nulls la chaîne dest. Les caractères situés après '\0' ne sont pas copiés. La chaîne cible, dest, peut ne pas être terminée par null si la longueur de src est destmax ou plus.

Si une violation de contrainte d'exécution se produit ou si aucun caractère de src n'a été copié, dest[0] est défini sur null.

Valeur renvoyée

strncpy_S renvoie dest.

Exemple

#include <stdio.h>
#include <string.h>
int main(void)
{
   char string[10];
   char *str1 = "abcdefghi";
   strncpy_s(string, 10, str1, 3);
   string[3] = '\0';
   printf("%s\n", string);
   return 0;
}

Portabilité

POSIX Win32 ANSI C ANSI C++

strncpy_s

+

+

+

+

Voir aussi