INTRODUCERE:
strcpy este o funcție de bibliotecă standard C care copiază un șir dintr-o locație în alta. Este definit în fișierul antet string.h.
Funcția are două argumente: un buffer de destinație în care va fi stocat șirul copiat și un șir sursă care va fi copiat. Funcția copiază întregul șir sursă, inclusiv terminatorul nul, în buffer-ul de destinație.
nginx
The C strcpy() funcţie copii conţinutul unui şir la altul. Conținutul șirului de destinație va fi înlocuit cu cea a șirului sursă prin funcția strcpy(). Este definit în interior fișier antet.
Sintaxă:
char* strcpy(char* destination, const char* source);>
Parametri: Această metodă acceptă următorii parametri:
- destinație : Indicator către matricea de caractere destinație în care urmează să fie copiat conținutul. sursă: indicator către matricea de caractere sursă care urmează să fie copiată.
Valoare returnată: A indicatorul către destinație șirul este returnat după ce funcția strcpy() copiază șirul sursă.
Exemplu: 1
C
// C program to illustrate> // strcpy() function in C> #include> #include> int> main()> {> >char> str1[] =>'Hello World!'>;> >char> str2[] =>'GfG'>;> >char> str3[40];> >char> str4[40];> >char> str5[] =>'GeeksForGeeks'>;> >strcpy>(str2, str1);> >strcpy>(str3,>'Copy successful'>);> >strcpy>(str4, str5);> >printf>(>'str1: %s
str2: %s
str3: %s
str4:%s
'>, str1,> >str2, str3, str4);> >return> 0;> }> |
>
>
java end for buclaIeșire
str1: Hello World! str2: Hello World! str3: Copy successful str4:GeeksForGeeks>
EXEMPLUL 2:
C
#include> #include> int> main()> {> >char> str1[20] =>'Hello'>;> >char> str2[20];> >strcpy>(str2, str1);> >printf>(>'str1: %s
'>, str1);> >printf>(>'str2: %s
'>, str2);> >return> 0;> }> |
ștergeți memoria cache npm
>
>Ieșire
str1: Hello str2: Hello>
Puncte importante
- Folosind această funcție, puteți copia întregul șir în șirul de destinație. Șirurile sursă nu sunt atașate la șirurile destinație. Ca urmare, conținutul șirului de destinație este înlocuit cu conținutul șirului sursă.
- Șirurile sursă nu sunt afectate. După copiere, șirul sursă rămâne același.
- Pentru a utiliza strcpy(), the sfoară.h fișierul antet trebuie inclus.
- În cazul unui șir sursă mai lung (Character Array), strcpy() efectuează un comportament nedefinit.
AVANTAJE ȘI DEZAVANTAJE:
Câteva avantaje ale utilizării strcpy în C includ:
Este o funcție simplă și ușor de utilizat, care poate fi folosită pentru a copia șiruri rapid și ușor.
Este o funcție standard de bibliotecă, deci este disponibilă pe scară largă și portabilă pe diferite platforme și compilatoare.
Este relativ rapid, deoarece necesită doar o singură trecere prin șirul sursă pentru ao copia.
Cu toate acestea, există și câteva dezavantaje de luat în considerare atunci când utilizați strcpy:
Nu verifică dimensiunea bufferului de destinație, așa că este posibil să se suprascrie tamponul și să provoace o depășire a tamponului dacă șirul sursă este mai lung decât bufferul de destinație. Acest lucru poate duce la vulnerabilități de securitate și alte probleme.
Nu gestionează corect șirurile care se suprapun. Dacă șirurile sursă și destinație se suprapun, comportamentul lui strcpy este nedefinit.
Nu gestionează corect caracterele nule din șirul sursă. Dacă șirul sursă conține un caracter nul, strcpy va opri copierea în acel moment, chiar dacă există caractere suplimentare în șirul sursă.