Exporter (0) Imprimer
Développer tout
and
div
eof
not
or
xor
Développer Réduire
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

_strdup, _wcsdup, _mbsdup

Duplique les chaînes.

Remarque importante Important

_mbsdup ne peut pas être utilisé dans les applications qui s'exécutent dans le Windows Runtime. Pour plus d'informations, consultez Fonctions CRT non prises en charge avec /ZW.

char *_strdup(
   const char *strSource 
);
wchar_t *_wcsdup(
   const wchar_t *strSource 
);
unsigned char *_mbsdup(
   const unsigned char *strSource 
);

strSource

Chaîne source se terminant par null.

Chacune de ces fonctions retourne un pointeur vers l'emplacement de stockage de la chaîne copiée ou NULL si le stockage ne peut pas être alloué.

La fonction_strdup appelle malloc pour allouer l'espace de stockage pour une copie de strSource et copie ensuite strSource dans l'espace alloué.

_wcsdup et _mbsdup sont des versions à caractères élargis et à caractères multi-octets de _strdup. Les arguments et la valeur de retour de _wcsdup sont des chaînes à caractères larges ; ceux de _mbsdup sont des chaînes de caractères multioctets. Ces trois fonctions se comportent sinon de façon identique.

Mappages de routines de texte générique

Routine TCHAR.H

_UNICODE & _MBCS non définis

_MBCS défini

_UNICODE défini

_tcsdup

_strdup

_mbsdup

_wcsdup

Comme _strdup appelle malloc pour allouer l'espace de stockage pour la copie de strSource, il est conseillé de toujours libérer cette mémoire en appelant la routine disponible sur le pointeur retourné par l'appel à _strdup.

Si _DEBUG et _CRTDBG_MAP_ALLOC sont définis, les appels à _strdup et _wcsdup sont remplacés par des appels à _strdup_dbg et _wcsdup_dbg pour conserver de la mémoire pour les allocations de déboguage. Pour plus d'informations, consultez _strdup_dbg, _wcsdup_dbg.

Routine

En-tête requis

_strdup

<string.h>

_wcsdup

<string.h> ou <wchar.h>

_mbsdup

<mbstring.h>

Pour plus d'informations sur la compatibilité, consultez Compatibilité.

// crt_strdup.c

#include <string.h>
#include <stdio.h>

int main( void )
{
   char buffer[] = "This is the buffer text";
   char *newstring;
   printf( "Original: %s\n", buffer );
   newstring = _strdup( buffer );
   printf( "Copy:     %s\n", newstring );
   free( newstring );
}
Original : Il s'agit du texte de mémoire tampon
Copie :     Il s'agit du texte de mémoire tampon

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft