Strcpy

strcpy este o  funcție de bibliotecă standard în limbajul de programare C pentru copierea unui șir terminat cu nul (inclusiv terminatorul nul) într-un buffer dat.

Prototipul funcției

Prototipul descris în fișierul antet string.h:

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

Valoarea returnată

Funcția returnează valoarea dst.

Exemplu de utilizare

#include <șir.h> #include <stdio.h> /* pentru printf() */ int main () { char * str = "exemplu de șir" ; charbuf [ 32 ] ; // buffer mai mare decât șirul buf [ 0 ] = '\0' ; // marchează tamponul ca șir gol, sau char buf[32] = ""; printf ( "șir: \" %s \"\n " , str ); printf ( "buffer înainte de copiere: \" %s \"\n " , buf ); strcpy ( buf , str ); printf ( "buffer după copiere: \" %s \"\n " , buf ); returnează 0 ; }

Concluzie:

șir: „exemplu de șir” tampon înainte de copiere: "" tampon după copiere: „exemplu de șir”

Securitate

Deoarece funcția nu verifică lungimea șirului și dimensiunea bufferului, nu ar trebui să fie utilizată pe date a căror dimensiune este necunoscută, pentru a evita depășirile de buffer dst .

În schimb strcpy, este recomandat să utilizați funcția standard strncpy( adăugând un terminator nul dacă este necesar! ) sau funcțiile non-standard strlcpysau strncpy_s.

Link -uri