_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
Consulte também
Referência
Manipulação de seqüência de caracteres (CRT)
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