logo

strcpy i C

INTRODUKTION:

strcpy är en C-standardbiblioteksfunktion som kopierar en sträng från en plats till en annan. Det definieras i string.h-huvudfilen.

Funktionen tar två argument: en destinationsbuffert där den kopierade strängen kommer att lagras, och en källsträng som kommer att kopieras. Funktionen kopierar hela källsträngen, inklusive nollterminatorn, till destinationsbufferten.



java null check

De C strcpy() fungera kopior innehållet i en sträng till en annan. Innehållet i destinationssträngen kommer att vara ersatt med den för källsträngen av strcpy()-funktionen. Det är definierat inuti header-fil.

Syntax:

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

Parametrar: Denna metod accepterar följande parametrar:



    destination : Pekare till målarrayen där innehållet ska kopieras. source: Pekare till källteckenmatrisen som ska kopieras.

Returvärde: A pekaren till destinationen sträng returneras efter att funktionen strcpy() kopierar källsträngen.

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

>

iskcon full form
>

Produktion

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

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

mysql inte lika
>

>

Produktion

str1: Hello str2: Hello>

Viktiga punkter

  • Med den här funktionen kan du kopiera hela strängen till målsträngen. Källsträngar läggs inte till målsträngar. Som ett resultat ersätts innehållet i målsträngen med innehållet i källsträngen.
  • Källsträngar påverkas inte. Efter kopiering förblir källsträngen densamma.
  • För att använda strcpy(), den sträng.h header-filen måste inkluderas.
  • I fallet med en längre källsträng (Character Array), utför strcpy() odefinierat beteende.

FÖRDELAR OCH NACKDELAR:

Några fördelar med att använda strcpy i C inkluderar:

Det är en enkel och lättanvänd funktion som kan användas för att kopiera strängar snabbt och enkelt.
Det är en standardbiblioteksfunktion, så den är allmänt tillgänglig och portabel över olika plattformar och kompilatorer.
Det är relativt snabbt, eftersom det bara krävs en enda passage genom källsträngen för att kopiera den.

Men det finns också några nackdelar att tänka på när du använder strcpy:

Den kontrollerar inte storleken på destinationsbufferten, så det är möjligt att skriva över bufferten och orsaka ett buffertspill om källsträngen är längre än destinationsbufferten. Detta kan leda till säkerhetsbrister och andra problem.
Den hanterar inte överlappande strängar korrekt. Om käll- och målsträngarna överlappar varandra är strcpys beteende odefinierat.
Den hanterar inte nolltecken i källsträngen korrekt. Om källsträngen innehåller ett nolltecken, kommer strcpy att sluta kopiera vid den tidpunkten, även om det finns ytterligare tecken i källsträngen.