Strcpy

strcpy je  funkce standardní knihovny programovacího jazyka C pro kopírování řetězce zakončeného nulou (včetně nulového terminátoru) do dané vyrovnávací paměti.

Funkční prototyp

Prototyp popsaný v záhlaví souboru string.h:

char * strcpy ( char * dst , const char * src );
  • dst je ukazatel na cílovou vyrovnávací paměť.
  • src je ukazatel na zdrojový řetězec.

Návratová hodnota

Funkce vrací hodnotu dst.

Příklad použití

#include <řetězec.h> #include <stdio.h> /* pro printf() */ int main () { char * str = "příklad řetězce" ; charbuf [ 32 ] ; // buffer větší než řetězec buf [ 0 ] = '\0' ; // označte buffer jako prázdný řetězec, nebo char buf[32] = ""; printf ( "řetězec: \" %s \"\n " , str ); printf ( "vyrovnávací paměť před kopírováním: \" %s \"\n " , buf ); strcpy ( buf , str ); printf ( "vyrovnávací paměť po zkopírování: \" %s \"\n " , buf ); návrat 0 ; }

Závěr:

řetězec: "příklad řetězce" vyrovnávací paměť před kopírováním: "" vyrovnávací paměť po zkopírování: "příklad řetězce"

Zabezpečení

Protože funkce nekontroluje délku řetězce a velikost vyrovnávací paměti, neměla by být použita na datech, jejichž velikost je neznámá, aby se předešlo přetečení vyrovnávací paměti dst .

Místo toho strcpyse doporučuje použít standardní funkci strncpy( v případě potřeby přidat nulový znak! ) nebo nestandardní funkce strlcpynebo strncpy_s.

Odkazy