ÚVOD:
strcpy je funkcia štandardnej knižnice C, ktorá kopíruje reťazec z jedného miesta na druhé. Je definovaný v hlavičkovom súbore string.h.
Funkcia má dva argumenty: cieľovú vyrovnávaciu pamäť, do ktorej sa uloží skopírovaný reťazec, a zdrojový reťazec, ktorý sa skopíruje. Funkcia skopíruje celý zdrojový reťazec vrátane ukončovacieho znaku null do cieľovej vyrovnávacej pamäte.
java system.out.println
The C strcpy() funkciu kópie obsah reťazca na iný. Obsah cieľového reťazca bude vymenené so zdrojovým reťazcom pomocou funkcie strcpy(). Je definovaný vo vnútri hlavičkový súbor.
Syntax:
char* strcpy(char* destination, const char* source);>
Parametre: Táto metóda akceptuje nasledujúce parametre:
- destination : Ukazovateľ na cieľové pole znakov, kam sa má obsah skopírovať. source: Ukazovateľ na pole zdrojových znakov, ktoré sa majú skopírovať.
Návratová hodnota: A ukazovateľ na cieľ string sa vráti po tom, čo funkcia strcpy() skopíruje zdrojový reťazec.
Príklad: 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;> }> |
>
>Výkon
systémový softvér
str1: Hello World! str2: Hello World! str3: Copy successful str4:GeeksForGeeks>
PRÍKLAD 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;> }> |
vymazať vyrovnávaciu pamäť npm
>
>Výkon
str1: Hello str2: Hello>
Dôležité body
- Pomocou tejto funkcie môžete skopírovať celý reťazec do cieľového reťazca. Zdrojové reťazce sa nepripájajú k cieľovým reťazcom. Výsledkom je, že obsah cieľového reťazca je nahradený obsahom zdrojového reťazca.
- Zdrojové reťazce nie sú ovplyvnené. Po skopírovaní zostáva zdrojový reťazec rovnaký.
- Ak chcete použiť strcpy(), reťazec.h musí byť zahrnutý hlavičkový súbor.
- V prípade dlhšieho zdrojového reťazca (Character Array) vykoná strcpy() nedefinované správanie.
VÝHODY A NEVÝHODY:
Niektoré výhody používania strcpy v C zahŕňajú:
Je to jednoduchá a ľahko použiteľná funkcia, ktorú možno použiť na rýchle a jednoduché kopírovanie reťazcov.
Je to štandardná funkcia knižnice, takže je široko dostupná a prenosná na rôznych platformách a kompilátoroch.
Je relatívne rýchly, pretože na jeho skopírovanie je potrebný iba jeden prechod cez zdrojový reťazec.
Pri používaní strcpy je však potrebné zvážiť aj niekoľko nevýhod:
Nekontroluje veľkosť cieľovej vyrovnávacej pamäte, takže je možné prepísať vyrovnávaciu pamäť a spôsobiť pretečenie vyrovnávacej pamäte, ak je zdrojový reťazec dlhší ako cieľová vyrovnávacia pamäť. To môže viesť k bezpečnostným chybám a iným problémom.
Nezvláda správne prekrývajúce sa reťazce. Ak sa zdrojový a cieľový reťazec prekrývajú, správanie strcpy nie je definované.
Nepracuje správne s nulovými znakmi v zdrojovom reťazci. Ak zdrojový reťazec obsahuje nulový znak, strcpy zastaví kopírovanie v tomto bode, aj keď sú v zdrojovom reťazci ďalšie znaky.