strcpy, wcscpy, _mbscpy
Copia uma cadeia de caracteres.Versões mais seguros dessas funções estão disponíveis; consulte strcpy_s, wcscpy_s, _mbscpy_s.
Importante |
---|
_mbscpy não pode ser usado em aplicativos que executam em Tempo de Execução do Windows.Para obter mais informações, consulte Funções de CRT não suportadas com /ZW. |
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
Parâmetros
strDestination
Cadeia de caracteres de destino.strSource
Cadeia de caracteres NULL- finalizada de origem.
Valor de retorno
Cada uma dessas funções retorna a cadeia de caracteres de destino.Nenhum valor de retorno é reservado para indicar um erro.
Comentários
A função de strcpy copia strSource, incluindo o caractere nulo, finalizando no local especificado por strDestination.O comportamento de strcpy é indefinido se as cadeias de caracteres de origem e de destino sobrepostos.
Observação de segurança |
---|
Porque strcpy não verifica se há espaço suficiente em strDestination antes que copia strSource, é uma causa potencial de estouros de buffer.Portanto, é recomendável que você usar strcpy_s em vez disso. |
wcscpy e _mbscpy versões são, respectivamente, de largo- caracteres e de multibyte- caractere de strcpy.Os argumentos e o valor de retorno de wcscpy são cadeias de caracteres de largo- caracteres; essas de _mbscpy são cadeias de caracteres de multibyte- caractere.Essas três funções se comportam de forma idêntica.
Em C++, essas funções têm as sobrecargas de modelo que chamam as novas contrapartes mais seguros, essas funções.Para obter mais informações, consulte Proteger Overloads de modelo.
Mapeamentos da rotina de Genérico- texto
Rotina de TCHAR.H |
_UNICODE & _MBCS não definidos |
_MBCS definido |
_UNICODE definido |
---|---|---|---|
_tcscpy |
strcpy |
_mbscpy |
wcscpy |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
strcpy |
<string.h> |
wcscpy |
<string.h> ou <wchar.h> |
_mbscpy |
<mbstring.h> |
Para informações extras de compatibilidade, consulte Compatibilidade.
Exemplo
// 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 );
}
Equivalência do .NET Framework
Consulte também
Referência
Manipulação de cadeia de caracteres (CRT)
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