Partilhar via


_strdup _wcsdup, _mbsdup

Duplica as seqüências de caracteres.

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

Parâmetros

  • strSource
    Seqüência de caracteres terminada com caractere nulo de fonte.

Valor de retorno

Cada uma dessas funções retorna um ponteiro para o local de armazenamento para a seqüência de caracteres copiada ou NULL Se não é possível alocar o armazenamento.

Comentários

The _strdup chamadas de função malloc alocar espaço de armazenamento para uma cópia de strSource e, em seguida, cópias strSource o espaço alocado.

_wcsdup e _mbsdupsão versões de caractere largo e caracteres de multibyte de _strdup. Os argumentos e o valor retornado do _wcsdup são caractere largos strings; as de _mbsdup são seqüências de caractere de multibyte. Especifique estas três funções identicamente outro comportam.

Mapeamentos de rotina de texto genérica

Rotina TCHAR.H

_UNICODE & _MBCS não definido

_MBCS definido

_UNICODE definido

_tcsdup

_strdup

_mbsdup

_wcsdup

Porque _strdup chamadas malloc alocar espaço de armazenamento para a cópia do strSource, é recomendável sempre para liberar memória chamando o disponível rotina o ponteiro retornado pela telefonar para _strdup.

If _DEBUG e _CRTDBG_MAP_ALLOC são definidos, _strdup e _wcsdup são substituídos por chamadas para _strdup_dbg e _wcsdup_dbg para permitir a depuração de alocações de memória. Para obter mais informações, consulte _strdup_dbg, _wcsdup_dbg.

Requisitos

Rotina

Cabeçalho necessário

_strdup

<string.h>

_wcsdup

<string.h> ou <wchar.h>

_mbsdup

<mbstring.h>

Para obter informações adicionais compatibilidade, consulte Compatibilidade na introdução.

Exemplo

// 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: This is the buffer text Copy:     This is the buffer text

Equivalente do NET Framework

sistema::String::Clone

Consulte também

Referência

Manipulação de seqüência de caracteres (CRT)

memset, wmemset

strcat wcscat, _mbscat

strcmp wcscmp, _mbscmp

strncat, _strncat_l, wcsncat, wcsncat_l, _mbsncat _mbsncat_l

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

funções 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