WSTĘP:
strcpy to standardowa funkcja biblioteki C, która kopiuje ciąg z jednej lokalizacji do drugiej. Jest zdefiniowany w pliku nagłówkowym string.h.
Funkcja przyjmuje dwa argumenty: bufor docelowy, w którym będzie przechowywany skopiowany ciąg znaków, oraz ciąg źródłowy, który zostanie skopiowany. Funkcja kopiuje cały ciąg źródłowy, łącznie z terminatorem zerowym, do bufora docelowego.
obiekt tablicy w Javie
The C strcpy() funkcjonować kopie zawartość ciągu do innego. Treścią ciągu docelowego będzie zastąpiony z ciągiem źródłowym za pomocą funkcji strcpy(). Jest to określone wewnątrz plik nagłówkowy.
Składnia:
char* strcpy(char* destination, const char* source);>
Parametry: Ta metoda akceptuje następujące parametry:
- miejsce docelowe : Wskaźnik do docelowej tablicy znaków, do której ma zostać skopiowana zawartość. source: Wskaźnik do źródłowej tablicy znaków, która ma zostać skopiowana.
Wartość zwracana: A wskaźnik do miejsca docelowego string jest zwracany po skopiowaniu ciągu źródłowego przez funkcję strcpy().
Przykład 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;> }> |
>
>
aktor Ranbir Kapoor wiekWyjście
str1: Hello World! str2: Hello World! str3: Copy successful str4:GeeksForGeeks>
PRZYKŁAD 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;> }> |
drzewo binarne a drzewo wyszukiwania binarnego
>
>Wyjście
str1: Hello str2: Hello>
Ważne punkty
- Za pomocą tej funkcji możesz skopiować cały ciąg do ciągu docelowego. Ciągi źródłowe nie są dołączane do ciągów docelowych. W rezultacie zawartość ciągu docelowego zostaje zastąpiona zawartością ciągu źródłowego.
- Nie ma to wpływu na ciągi źródłowe. Po skopiowaniu ciąg źródłowy pozostaje taki sam.
- Aby użyć strcpy(), ciąg.h plik nagłówkowy musi być dołączony.
- W przypadku dłuższego ciągu źródłowego (tablica znaków) strcpy() wykonuje niezdefiniowane zachowanie.
ZALETY I WADY:
Niektóre zalety używania strcpy w C obejmują:
Jest to prosta i łatwa w użyciu funkcja, za pomocą której można szybko i łatwo kopiować ciągi znaków.
Jest to standardowa funkcja biblioteczna, dlatego jest powszechnie dostępna i przenośna na różnych platformach i kompilatorach.
Jest stosunkowo szybki, ponieważ wymaga tylko jednego przejścia przez ciąg źródłowy, aby go skopiować.
Używając strcpy, należy jednak wziąć pod uwagę pewne wady:
Nie sprawdza rozmiaru bufora docelowego, więc możliwe jest nadpisanie bufora i spowodowanie przepełnienia bufora, jeśli ciąg źródłowy jest dłuższy niż bufor docelowy. Może to prowadzić do luk w zabezpieczeniach i innych problemów.
Nie obsługuje prawidłowo nakładających się ciągów. Jeśli ciągi źródłowy i docelowy nakładają się, zachowanie strcpy jest niezdefiniowane.
Nie obsługuje poprawnie znaków null w ciągu źródłowym. Jeśli ciąg źródłowy zawiera znak null, strcpy przestanie kopiować w tym momencie, nawet jeśli w ciągu źródłowym znajdują się dodatkowe znaki.