Strcpy

strcpy on C -  ohjelmointikielen standardikirjastofunktio , jolla kopioidaan nollapäätteinen merkkijono (mukaan lukien nollapääte) tiettyyn puskuriin.

Toiminnon prototyyppi

Otsikkotiedostossa kuvattu prototyyppi string.h:

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

Palautusarvo

Funktio palauttaa dst:n arvon.

Käyttöesimerkki

#include <string.h> #include <stdio.h> /* for printf() */ int main () { char * str = "merkkijonoesimerkki" ; charbuf [ 32 ] ; // puskuri suurempi kuin merkkijono buf [ 0 ] = '\0' ; // merkitse puskuri tyhjäksi merkkijonoksi tai char buf[32] = ""; printf ( "merkkijono: \" %s \"\n " , str ); printf ( "puskuri ennen kopioimista: \" %s \"\n " , buf ); strcpy ( buf , str ); printf ( "puskuri kopioinnin jälkeen: \" %s \"\n " , buf ); paluu 0 ; }

Johtopäätös:

merkkijono: "merkkijonoesimerkki" puskuri ennen kopioimista: "" puskuri kopioinnin jälkeen: "merkkijonoesimerkki"

Turvallisuus

Koska funktio ei tarkista merkkijonon pituutta ja puskurin kokoa, sitä ei tule käyttää tiedoissa, joiden koko on tuntematon puskurin ylivuotojen välttämiseksi dst.

Sen sijaan strcpyon suositeltavaa käyttää vakiofunktiota strncpy( lisäämällä tarvittaessa nollapääte! ) tai ei-standardifunktioita strlcpytai strncpy_s.

Linkit