STRNCPY jest również znany jako funkcja kopiowania ciągów. Jest to kluczowa funkcja oferowana przez bibliotekę ciągów C Language C Language. STRNCPY jest odpowiedzialny za skopiowanie części treści jednego sznurka do drugiego.
strncpy (string_a, string_b, 6) Skopiuje pierwsze 6 znaków String „String_b” do String „String_a”. String_a to ciąg, do którego kopiowana jest zawartość ciągu. Podczas gdy String_B jest tym, który zostanie użyty do pobrania pierwszych 6 znaków ciągu lub ciągu, z którego mają zostać skopiowane pierwsze 6 znaków.
W przypadku, gdy długość ciągu (z której zostanie skopiowana część ciągu, jest mniejsza niż ciąg, do którego zostanie skopiowany ciąg), wówczas nie skopiuje pełnej wartości ciągu do ciągu docelowego.
Składnia
Składnia, aby zadzwonić strncpy () Funkcja to:
W powyższej składni, „Char*dest oznacza miejsce docelowe, do którego ma być przechowywane. Drugi parametr „const char*src ” jest standardem C, który określa, że src jest wskaźnikiem postaci, aw trzecim parametrze podajemy rozmiar naszej funkcji, aby zdefiniować, ile znaków ciągu do skopiowania. Drugiego parametru nie można zmodyfikować i dlatego jest stały. W tej funkcji przechowujemy ciąg w naszym parametrze źródłowym i kopiujemy go do dowolnego miejsca docelowego reprezentowanego jako „dest”. Następnie podaj rozmiar naszej zmiennej docelowej, aby funkcja kopiowała tę samą liczbę znaków z naszego ciągu x. Możemy również przejść do parametru źródłowego.
Przykład 1:
W tym przykładzie zadeklarowaliśmy tablice dwóch znaków, które są x i y przy użyciu tablicy rozmiaru 20 dla „x” i 5 dla „y”. W naszej zmiennej X zapisaliśmy String „Hello World”, która jest naszą zmienną źródłową.
Po ogłoszeniu naszych tablic postaci zadzwonimy strncpy funkcja do skopiowania naszego pożądanego ciągu do drugiego. W strncpy, Minęliśmy oba tablice docelowe, a także tablicę źródłową wraz z rozmiarem, do którego sznur jest kopiowany.
W powyższym kodzie Y jest naszym docelowym ciągiem znaków, o których omówiliśmy wcześniej we wstępie. Ta funkcja ma trzy parametry: źródło, miejsce docelowe i długość. Naszym głównym celem jest skopiowanie wartości ciągu, którą przypisaliśmy do naszej tablicy źródłowej „X” do naszej tablicy docelowej „Y”. Podaliśmy długość zmiennej y jako trzeci parametr, aby kopiowała tę samą liczbę znaków, co długość Y. Używając printf () Oświadczenie, wydrukujemy skopiowaną tablicę jako wyjście, w której %s jest używany do drukowania ciągu od pierwszego znaku do znaku zerowego „\ 0”, a „y” jest wynikową tablicą, którą należy wydrukować.
Nasz kod poda następujące dane wyjściowe po jego wykonaniu. Jak widzimy w naszym wyjściu, nie skopiowało całej frazy, ponieważ daliśmy jej długość y, która wynosiła zaledwie 5.
Przykład nr 2:
W poniższym przykładzie po raz pierwszy zainicjowaliśmy nasze tablice o nazwie „A” i „B” do ustalonego rozmiaru 6. Po inicjalizacji przekazaliśmy nasze tablice do strncpy funkcja z długością ciągu, do której zostanie skopiowany.
Gdy strncpy kopiuje zawartość źródła do miejsca docelowego, kopiuje ciąg bez zakończenia znaku zerowego. Tutaj określamy rozmiar parametru B. Cały ciąg zostanie skopiowany do „B”. Strncpy nigdy nie dodaje znaku \ 0 lub zerowego na końcu, gdy rozmiar źródła jest równy rozmiarowi docelowego, więc musimy ręcznie dodać znak \ 0 lub zerowy na końcu naszej postaci „B”.
Jeśli spojrzymy na nasze wyjście, skopiowaliśmy naszą wartość ciągu z jednej postaci do drugiej. Dlatego mamy naszą wydajność jako „świetną”.
Przykład nr 3:
W poniższej próbce kodu używamy metody skopiowania tablicy do stałej określonej wartości. Aby to zrobić, najpierw zadeklarujemy nasze dwie zmienne łańcuchowe za pomocą tablicy znaków do określonej długości: „String” o długości 20 i „stringB” o długości rozmiaru 25. Nie przypisaliśmy żadnego ciągu do naszej tablicy źródłowej za pomocą metody Strcpy. Ręcznie wstawymy ciąg do zmiennej źródłowej „StringB”. Następnie wywołaj naszą funkcję STRNCPY, w której pierwszym argumentem jest zmienna docelowa, a druga jest zmienną źródłową. Ale przypisujemy wartość do naszego źródła również za pomocą naszego strncpy funkcjonować.
W wierszu 6 wykonujemy pełną kopię naszego ciągu, aby przypisać wartość do naszego źródła. Po przypisaniu wartości skopiowaliśmy wartość StringB do Stringa, która jest naszym miejscem docelowym. Daliśmy mu długość 7, co oznacza, że skopiuje tylko pierwsze 7 znaków naszego ciągu źródłowego.
Użyliśmy printf () Instrukcja, jedna do wydrukowania naszej wartości źródłowej, a druga do wydrukowania naszej wartości docelowej. Jak widzimy w naszym wyjściu, wartość Stringa wynosi tylko 7 znaków, ponieważ podczas kopiowania daliśmy mu długość 7. Stringb wydrukował pełny ciąg, ponieważ użyliśmy Strcpy zamiast strncpy funkcja, która skopiowała cały ciąg.
Wniosek
W tym przewodniku dowiedzieliśmy się o funkcji Strncpy () języka C. Możesz zbadać więcej na temat funkcji STRNCPY () Biblioteki C za pomocą wielu przykładów, możesz uzyskać jeszcze lepsze zrozumienie, wdrażając ją. Umożliwiło nam użycie jednego ciągu w kodzie wiele razy zamiast pisać. Po prostu przypisując go do jednej zmiennej, zmniejsza złożoność powtarzających się wartości.