Compartilhar via


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.

Observação importanteImportante

_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çaObservaçã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

System::String::Copy

Consulte também

Referência

Manipulação de cadeia de caracteres (CRT)

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