logo

strcpy valodā C

IEVADS:

strcpy ir C standarta bibliotēkas funkcija, kas kopē virkni no vienas vietas uz citu. Tas ir definēts galvenes failā string.h.

Funkcijai ir divi argumenti: mērķa buferis, kurā tiks saglabāta kopētā virkne, un avota virkne, kas tiks kopēta. Funkcija kopē visu avota virkni, ieskaitot nulles terminatoru, mērķa buferī.



Madhubala

The C strcpy() funkciju kopijas virknes saturu citam. Galamērķa virknes saturs būs aizstāts ar avota virkni, izmantojot funkciju strcpy (). Tas ir noteikts iekšpusē galvenes fails.

Sintakse:

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

Parametri: Šī metode pieņem šādus parametrus:



    galamērķis: norādiet uz galamērķa rakstzīmju masīvu, kurā tiks kopēts saturs. avots: rādītājs uz avota rakstzīmju masīvu, kas jākopē.

Atgriešanas vērtība: A rādītājs uz galamērķi virkne tiek atgriezta pēc tam, kad funkcija strcpy() ir nokopējusi avota virkni.

Piemērs: 1

C






vesels skaitlis līdz virknei Java
// 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;> }>

>

>

Izvade

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

2. PIEMĒRS:

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

mysql nav vienāds
>

>

Izvade

str1: Hello str2: Hello>

Svarīgi punkti

  • Izmantojot šo funkciju, varat kopēt visu virkni galamērķa virknē. Avota virknes netiek pievienotas galamērķa virknēm. Rezultātā galamērķa virknes saturs tiek aizstāts ar avota virknes saturu.
  • Avota virknes netiek ietekmētas. Pēc kopēšanas avota virkne paliek nemainīga.
  • Lai izmantotu strcpy (), string.h ir jāiekļauj galvenes fails.
  • Garākas avota virknes (rakstzīmju masīva) gadījumā strcpy () veic nedefinētu darbību.

PRIEKŠROCĪBAS UN TRŪKUMI:

Dažas strcpy izmantošanas priekšrocības programmā C ir šādas:

Tā ir vienkārša un viegli lietojama funkcija, ko var izmantot, lai ātri un viegli kopētu virknes.
Tā ir standarta bibliotēkas funkcija, tāpēc tā ir plaši pieejama un pārnēsājama dažādās platformās un kompilatoros.
Tas ir salīdzinoši ātrs, jo, lai to kopētu, ir nepieciešama tikai viena avota virknes izeja.

Tomēr ir arī daži trūkumi, kas jāņem vērā, izmantojot strcpy:

Tas nepārbauda mērķa bufera lielumu, tāpēc ir iespējams pārrakstīt buferi un izraisīt bufera pārpildīšanu, ja avota virkne ir garāka par mērķa buferi. Tas var radīt drošības ievainojamības un citas problēmas.
Tas pareizi neapstrādā virknes, kas pārklājas. Ja avota un mērķa virknes pārklājas, strcpy darbība nav definēta.
Tas pareizi neapstrādā nulles rakstzīmes avota virknē. Ja avota virknē ir nulles rakstzīme, strcpy pārtrauks kopēšanu šajā brīdī, pat ja avota virknē ir papildu rakstzīmes.