Funkcja łańcuchowa w C z przykładami

Opublikowany: 2022-12-05

Funkcje łańcuchowe w C można określić jako tablicę znaków, które mają tendencję do przerywania symbolu zerowego i pustego, na przykład „/ 0”. Po pierwsze, kluczowe znaczenie ma zrozumienie różnicy między ciągiem znaków a tablicą znaków. Pierwsza otrzymuje na końcu znak null, w przeciwieństwie do drugiej, która niekoniecznie musi kończyć się na tak.

Ciągi są często modyfikowane i używane w różnych operacjach, które pasują do wymagań. Pętla służy do obliczania długości łańcucha, chociaż nie jest to najlepsza opcja do innych złożonych celów. Właśnie dlatego funkcje łańcuchowe w C są niezbędne do bezpośredniego i wydajnego kodowania.

Spis treści

Jakie są najczęstsze przykłady funkcji łańcuchowych?

Kilka funkcji łańcuchowych w C jest używanych na dużą skalę. Są to:

  • Strcat: Celem tej funkcji () jest dołączenie kopii ciągu źródłowego do końcowej części ciągu. Funkcje Strcat() prowadzą do określonych argumentów:
    1) cel
    2) źródło

Znajdziesz kopię dołączoną do końcowej części łańcucha. Pierwszy znak SRC działa jako zamiennik ostatniego znaku występującego w całym łańcuchu.

Na przykład:

//strcat
#include <cstring>
#include <iostream>
Korzystanie z przestrzeni nazw std; int główny ()

Char dest [50] = „To jest”
Źródło znaku [50] = „przykład”
STRCAT (cel,źródło)
cout<<cel
powrót=0

  • Strrrchr: Jeśli chodzi o C++, Strrrchr wykonuje głównie obsługę ciągów znaków. CString jest używany głównie w plikach nagłówkowych. Wskaźnik jest zwracany głównie do końcowej części łańcucha.

Przykłady takiej składni obejmują:
Strurchr (const char*str, int c)
Tutaj STR to ciąg, a C to znak, który należy wstawić.
Dane wyjściowe: Ciąg po ostatnim e to: eks
Ciąg po ostatnim m to: null

  • Strcmp: Funkcja Strcmp w C () może być rozumiana jako wbudowana funkcja biblioteczna, często wyświetlana w pliku nagłówkowym <string.h>. Dwa łańcuchy są traktowane jako argumenty i porównywane w sposób leksykograficzny.
    Składnia: int strcmp (const char *leftStr, const char *rightStr)

Dany prototyp wymienia dwa ciągi znaków dla parametrów, kończąc je wartością całkowitą, jeśli chodzi o porównanie w obu ciągach.

  • Jeśli oba łańcuchy są równe, do sprawdzenia używany jest drugi znak, a jeśli okaże się, że jest taki sam, sprawdzany jest trzeci znak.
  • Ten proces jest kontynuowany, dopóki jeden ze znaków w łańcuchu nie zwróci wartości null lub oba znaki nie zostaną uznane za nierówne.
  • Strcpy: Jedna z najczęściej używanych funkcji w C++, Strcpy to funkcja biblioteczna wymagana do skopiowania jednego ciągu z innego. Czasami jest również używany w C, zwłaszcza w pliku nagłówkowym string.h.
    Składnia: char* strcpy (char*dest, const char*src)
    Parametry: str: Aby znaleźć długość łańcucha, należy zmierzyć zmienną łańcuchową.
  • Strncat: Uważana za predefiniowaną funkcję pod względem obsługi łańcuchów, strncat jest używana zarówno w C, jak i C++. W tym przypadku string.h jest plikiem nagłówkowym bardzo wymaganym dla funkcji łańcuchowych. Ta funkcja dołącza nie więcej niż n znaków z łańcucha, który jest kierowany przez znak null. Początkowy znak ma tendencję do nadpisywania znaku zerowego, który można znaleźć na końcu każdego łańcucha. To dlatego string dest staje się strlen dest (n+).

Popularne kursy i artykuły na temat inżynierii oprogramowania

Popularne programy
Program wykonawczy PG w rozwoju oprogramowania - IIIT B Program certyfikatów Blockchain - PURDUE Program Certyfikatów Cyberbezpieczeństwa - PURDUE Magister informatyki - IIIT B
Inne popularne artykuły
Wynagrodzenie inżyniera chmury w USA 2021-22 Wynagrodzenie architekta rozwiązań AWS w USA Wynagrodzenie programisty backendu w USA Wynagrodzenie programisty front-end w USA
Wynagrodzenie programisty internetowego w USA Pytania do wywiadu ze Scrum Masterem w 2022 roku Jak rozpocząć karierę w cyberbezpieczeństwie w 2022 roku? Opcje kariery w USA dla studentów inżynierii

Jednak wszystko to może się nie udać raz:

  • Struny nakładają się na siebie
  • Tablica dest nie jest wystarczająco duża, aby dołączyć zawartość src
  • Dest: Ciąg znaków, który ma zostać dołączony
  • Src: Łańcuch, z którego „n znaków” nie zostanie dołączonych
  • N: odnosi się do maksymalnej liczby znaków
  • Strlen: Ta konkretna funkcja ma tendencję do obliczania długości podanego ciągu znaków. [/0] nie jest określany jako znak null w tym scenariuszu.
    Składnia: int strlen (const char*str)
    Parametr: długość jest uważana za główny cel długości łańcucha.
  • Strncmp: Ta funkcja koncentruje się głównie na liczbie znaków w łańcuchu i zwraca liczbę całkowitą określoną zgodnie z wynikiem.
  • Pobierane są dwa łańcuchy, a liczba num jest traktowana jako argument, aby można było porównać oba.
  • Obowiązkowe jest, aby liczba była równa długości najdłuższego łańcucha.
  • Porównanie między dwoma ciągami odbywa się w sposób leksykograficzny.
  • Ten proces prowadzi do konkluzji, gdy osiągnięty zostanie znak null lub liczba znaków w obu ciągach stanie się identyczna.
  • Strncpy: Podobnie jak funkcja strcpy(), funkcja Strncpy ma skopiowane większość n bajtów src. Jeśli w łańcuchu brakuje znaków null, nie jest on zakończony znakiem null. Jeśli długość jest mniejsza niż n, wymienianych jest łącznie n znaków wraz z dodatkowym znakiem null.
    Składnia: char *strncpy (char*dest, const char* src, size t_n)
    Parametry:
    Źródło: Ciąg ma zostać skopiowany
    Dest: Wskaźnik, do którego kopiowana jest zawartość

N: To jest pierwszy n znak

  • Strrchr: Ta funkcja () ma zastosowanie we wszystkich językach programowania C/C++. Służy do wskazania ostatniej części występującej w łańcuchu. Uważany za część łańcucha C, konieczne jest odzyskanie wskaźnika w kierunku końca łańcucha. Ostatni znak pusty jest rozumiany jako końcowa część łańcucha C. Dlatego jest nazywany plikiem nagłówkowym CString.
    Składnia: char* strrchr ( char*str, int ch)
    Parametr: str: koncentruje się głównie na wskaźniku do łańcucha zakończonego znakiem null.

Ch: Odnosi się do znaku, który należy wyszukać.

Dlatego funkcje łańcuchowe w C mają wiele przykładów, które można wykorzystać, zwłaszcza w językach programowania C/C++.

Ucz się kursów programistycznych online z najlepszych światowych uniwersytetów. Zdobądź programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.

Jaka jest najczęściej używana funkcja łańcuchowa?

Strstr w C można nazwać predefiniowaną funkcją wymaganą do obsługi łańcuchów na masowym poziomie. Ciąg h jest zanotowaną linią nagłówka dla funkcji łańcuchowych.
Ta funkcja wymaga dwóch ciągów, S1 i S2, aby znaleźć wystąpienie obu tych ciągów. Kończące znaki null nie są zawarte w łańcuchu, dlatego wystąpienie można rozumieć jako funkcję główną.
Składnia:
char * strstr (const char * S1, const char *S2)
Parametry: S1- Główna struna do sprawdzenia
S2- Podciąg, który jest również obecny w ciągu S1
Wartość zwracana: Wskaźnik jest zwracany, gdy pierwszy znak znajdzie się już w S2 z S1. Jeśli S2 zasugeruje, że jest to pusty łańcuch, S1 zostanie ponownie przywrócony.

Ekskluzywne seminarium internetowe upGrad na temat tworzenia oprogramowania dla Ciebie —

Biznes SAAS – co jest takiego innego?

Podsumowując:

Jak widzieliśmy, funkcje łańcuchowe skupiają się na tworzeniu wydajnych i prostych kodów. Najlepszą zaletą funkcji łańcuchowych w C jest to, że są one już wstępnie napisane, co prowadzi do bezpośredniego użycia. Ponieważ jest to jedno z najważniejszych opracowań oprogramowania, musisz nauczyć się podstaw tego języka. Dzięki poziomowi trudności dla początkujących jest to idealny język programowania, od którego możesz zacząć. Program Executive PG firmy Upgrad w zakresie rozwoju oprogramowania - programowanie pełnego stosu można uznać za idealne dopasowanie, jeśli próbujesz swoich sił w funkcjach łańcuchowych.

Najważniejsze punkty kursu są następujące:

  • Sesja online + wykłady na żywo
  • 4 miesiące bezpłatnego dostępu do treści w nauce o danych i uczeniu maszynowym
  • Światowej klasy wykładowcy i eksperci branżowi
  • Status absolwenta IIIT Bangalore
  • Ponad 30 studiów przypadku i projektów
  • Dostępne wsparcie dla studentów (24*7)
  • Software Career Transition Bootcamp dla programistów niezwiązanych z technologią i nowych programistów
  • Ponad 10 języków programowania i narzędzi

Program tego kursu jest następujący:

  • Kurs przygotowawczy
  • Zestaw narzędzi do uczenia się przez doświadczenie
  • Uczenie się przez doświadczenie
  • OOD+Inżynieria oprogramowania
  • Struktury danych i algorytmy
  • Interfejsy użytkownika i rozwój frontendu
  • Rozwój zaplecza
  • Architektura oprogramowania i wdrażanie
  • Projekt zwieńczeniem

Zarejestruj się już dziś, aby dowiedzieć się więcej!