Sdílet prostřednictvím


_strdup, _wcsdup, _mbsdup

Duplicitní hodnoty řetězců.

Důležitá poznámkaDůležité

_mbsdupnelze použít v aplikacích, které jsou spuštěny v Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW.

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

Parametry

  • strSource
    Řetězec zakončený hodnotou Null zdroje.

Vrácená hodnota

Každá z těchto funkcí vrací ukazatel na umístění úložiště pro řetězec zkopírované nebo NULL v případě, že nelze přidělit úložiště.

Poznámky

_strdup Volání funkce malloc k přidělení místa pro kopii strSource a pak zkopíruje strSource na přidělený prostor.

_wcsdupa _mbsdup jsou verze širokého znaku a vícebajtové znakové sady _strdup.Argumenty a vrácené hodnoty _wcsdup jsou řetězci širokého znaku; u _mbsdup jsou vícebajtové znakové řetězce.Tyto tři funkce chovat identicky jinak.

Mapování rutiny obecného textu

TCHAR.Byla zahájena rutina h

_UNICODE & _MBCS není definováno

_MBCS, definice

_UNICODE definována

_tcsdup

_strdup

_mbsdup

_wcsdup

Protože _strdup volání malloc přidělení místa pro kopii strSource, je vhodné vždy uvolnění této paměti pomocí volání bez rutinní na ukazatel, který je vrácený voláním _strdup.

Pokud _DEBUG a _CRTDBG_MAP_ALLOC jsou definovány, _strdup a _wcsdup se nahrazují volání _strdup_dbg a _wcsdup_dbg Chcete-li povolit ladění přidělení paměti.Další informace naleznete v tématu _strdup_dbg _wcsdup_dbg.

Požadavky

Byla zahájena rutina

Požadované záhlaví

_strdup

<string.h>

_wcsdup

<string.h> nebo <wchar.h>

_mbsdup

<mbstring.h>

Další informace o kompatibilitě, viz Kompatibilita.

Příklad

// 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 );
}
  

Ekvivalent v rozhraní .NET Framework

System::String::clone

Viz také

Referenční dokumentace

Manipulaci s řetězci (CRT)

memset wmemset

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