logo

strcpy C

ĮVADAS:

strcpy yra C standartinė bibliotekos funkcija, kuri kopijuoja eilutę iš vienos vietos į kitą. Jis apibrėžiamas string.h antraštės faile.

Funkcijai naudojami du argumentai: paskirties buferis, kuriame bus saugoma nukopijuota eilutė, ir šaltinio eilutė, kuri bus nukopijuota. Funkcija nukopijuoja visą šaltinio eilutę, įskaitant nulinį terminą, į paskirties buferį.



java pamoka pradedantiesiems

The C strcpy() funkcija kopijų eilutės turinį kitam. Paskirties eilutės turinys bus pakeistas su šaltinio eilutės strcpy() funkcija. Jis apibrėžiamas viduje antraštės failą.

Sintaksė:

char* strcpy(char* destination, const char* source);>

Parametrai: Šis metodas priima šiuos parametrus:



    paskirties vieta : žymeklis į paskirties simbolių masyvą, kur turi būti nukopijuotas turinys. šaltinis: žymeklis į šaltinio simbolių masyvą, kuris turi būti nukopijuotas.

Grąžinimo vertė: A žymeklį į paskirties vietą string grąžinama po to, kai funkcija strcpy() nukopijuoja šaltinio eilutę.

Pavyzdys: 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;> }>

>

>

Išvestis

str1: Hello World! str2: Hello World! str3: Copy successful str4:GeeksForGeeks>

2 PAVYZDYS:

C


latekso sąrašas



#include> #include> int> main()> {> >char> str1[20] =>'Hello'>;> >char> str2[20];> >strcpy>(str2, str1);> >printf>(>'str1: %s '>, str1);> >printf>(>'str2: %s '>, str2);> >return> 0;> }>

powershell vs bash
>

>

Išvestis

str1: Hello str2: Hello>

Svarbūs punktai

  • Naudodami šią funkciją galite nukopijuoti visą eilutę į paskirties eilutę. Šaltinio eilutės nėra pridedamos prie paskirties eilučių. Dėl to paskirties eilutės turinys pakeičiamas šaltinio eilutės turiniu.
  • Šaltinio eilutės neturi įtakos. Nukopijavus šaltinio eilutė išlieka ta pati.
  • Norėdami naudoti strcpy (), eilutė.h antraštės failas turi būti įtrauktas.
  • Jei šaltinio eilutė yra ilgesnė (simbolių masyvas), strcpy () atlieka neapibrėžtą elgesį.

PRIVALUMAI IR TRŪKUMAI:

Kai kurie strcpy naudojimo C programoje pranašumai yra šie:

Tai paprasta ir lengvai naudojama funkcija, kurią galima naudoti norint greitai ir lengvai nukopijuoti eilutes.
Tai standartinė bibliotekos funkcija, todėl ji yra plačiai prieinama ir nešiojama įvairiose platformose ir kompiliatoriuose.
Tai gana greita, nes norint ją nukopijuoti, reikia tik vieną kartą pereiti per šaltinio eilutę.

Tačiau naudojant strcpy taip pat reikia atsižvelgti į keletą trūkumų:

Jis netikrina paskirties buferio dydžio, todėl galima perrašyti buferį ir sukelti buferio perpildymą, jei šaltinio eilutė yra ilgesnė už paskirties buferį. Tai gali sukelti saugumo spragas ir kitas problemas.
Jis netinkamai tvarko persidengiančias stygas. Jei šaltinio ir paskirties eilutės sutampa, strcpy elgsena neapibrėžta.
Jis netinkamai apdoroja nulinius simbolius šaltinio eilutėje. Jei šaltinio eilutėje yra nulinis simbolis, strcpy nustos kopijuoti tuo metu, net jei šaltinio eilutėje yra papildomų simbolių.