strcpy
, wcscpy
, _mbscpy
Copie une chaîne. Des versions plus sécurisées de ces fonctions sont disponibles ; voir strcpy_s
, wcscpy_s
, _mbscpy_s
.
Important
La fonction _mbscpy
ne peut pas être utilisée dans les applications qui s’exécutent dans Windows Runtime. Pour plus d’informations, consultez Fonctions CRT non prises en charge dans les applications de la plateforme Windows universelle.
Syntaxe
char *strcpy(
char *strDestination,
const char *strSource
);
wchar_t *wcscpy(
wchar_t *strDestination,
const wchar_t *strSource
);
unsigned char *_mbscpy(
unsigned char *strDestination,
const unsigned char *strSource
);
template <size_t size>
char *strcpy(
char (&strDestination)[size],
const char *strSource
); // C++ only
template <size_t size>
wchar_t *wcscpy(
wchar_t (&strDestination)[size],
const wchar_t *strSource
); // C++ only
template <size_t size>
unsigned char *_mbscpy(
unsigned char (&strDestination)[size],
const unsigned char *strSource
); // C++ only
Paramètres
strDestination
Chaîne de destination.
strSource
Chaîne source se terminant par Null.
Valeur retournée
Chacune de ces fonctions retourne la chaîne de destination. Aucune valeur de retour n'est réservée pour indiquer une erreur.
Notes
La fonction strcpy
copie strSource
, y compris le caractère null de fin, à l'emplacement spécifié par strDestination
. Le comportement de strcpy
n'est pas défini si les chaînes source et de destination se chevauchent.
Important
Comme strcpy
ne vérifie pas si strDestination
contient suffisamment d'espace avant de copier strSource
, il s'agit d'une cause potentielle de dépassements de mémoire tampon. Par conséquent, nous vous recommandons d’utiliser strcpy_s
à la place.
wcscpy
et _mbscpy
sont respectivement des versions à caractères larges et à caractères multioctets de strcpy
. Les arguments et la valeur de retour sont wcscpy
des chaînes à caractères larges. Les arguments et la valeur de retour sont _mbscpy
des chaînes de caractères multioctets. Ces trois fonctions se comportent sinon de façon identique.
En C++, ces fonctions ont des surcharges de modèle qui appellent les équivalents plus récents et sécurisés de ces fonctions. Pour plus d’informations, consultez Surcharges de modèles sécurisés.
Par défaut, l’état global de cette fonction est limité à l’application. Pour modifier ce comportement, consultez État global dans le CRT.
Mappages de routine de texte générique
TCHAR.H Routine |
_UNICODE et _MBCS non défini |
_MBCS Défini |
_UNICODE Défini |
---|---|---|---|
_tcscpy |
strcpy |
_mbscpy |
wcscpy |
Spécifications
Routine | En-tête requis |
---|---|
strcpy |
<string.h> |
wcscpy |
<string.h> ou <wchar.h> |
_mbscpy |
<mbstring.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Exemple
// crt_strcpy.c
// compile with: /W3
// This program uses strcpy
// and strcat to build a phrase.
#include <string.h>
#include <stdio.h>
int main( void )
{
char string[80];
// If you change the previous line to
// char string[20];
// strcpy and strcat will happily overrun the string
// buffer. See the examples for strncpy and strncat
// for safer string handling.
strcpy( string, "Hello world from " ); // C4996
// Note: strcpy is deprecated; use strcpy_s instead
strcat( string, "strcpy " ); // C4996
// Note: strcat is deprecated; use strcat_s instead
strcat( string, "and " ); // C4996
strcat( string, "strcat!" ); // C4996
printf( "String = %s\n", string );
}
String = Hello world from strcpy and strcat!
Voir aussi
Manipulation de chaîne
strcat
, wcscat
, _mbscat
strcmp
, wcscmp
, _mbscmp
strncat
, _strncat_l
, wcsncat
, _wcsncat_l
, _mbsncat
, _mbsncat_l
strncmp
, wcsncmp
, _mbsncmp
, _mbsncmp_l
strncpy
, _strncpy_l
, wcsncpy
, _wcsncpy_l
, _mbsncpy
, _mbsncpy_l
_strnicmp
, _wcsnicmp
, _mbsnicmp
, _strnicmp_l
, _wcsnicmp_l
, _mbsnicmp_l
strrchr
, wcsrchr
, _mbsrchr
, _mbsrchr_l
strspn
, wcsspn
, _mbsspn
, _mbsspn_l
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour