Strcpy

strcpy är en standardbiblioteksfunktion för C - programmeringsspråk för att kopiera en  nollterminerad sträng (inklusive nollterminatorn) till en given buffert.

Funktionsprototyp

Prototypen som beskrivs i rubrikfilen string.h:

char * strcpy ( char * dst , const char * src );

Returvärde

Funktionen returnerar värdet av dst.

Användningsexempel

#include <string.h> #include <stdio.h> /* för printf() */ int main () { char * str = "strängexempel" ; charbuf [ 32 ] ; // buffert större än sträng buf [ 0 ] = '\0' ; // markera bufferten som en tom sträng, eller char buf[32] = ""; printf ( "sträng: \" %s \"\n " , str ); printf ( "buffert före kopiering: \" %s \"\n " , buf ); strcpy ( buf , str ); printf ( "buffert efter kopiering: \" %s \"\n " , buf ); returnera 0 ; }

Slutsats:

string: "strängexempel" buffert innan kopiering: "" buffert efter kopiering: "strängexempel"

Säkerhet

Eftersom funktionen inte kontrollerar längden på strängen och storleken på bufferten bör den inte användas på data vars storlek är okänd, för att undvika buffertspill dst .

Istället strcpyrekommenderas det att använda standardfunktionen strncpy( lägg till en nollterminator vid behov! ) eller de icke-standardiserade funktionerna strlcpyeller strncpy_s.

Länkar