Funkcja łańcuchowa w C z przykładami
Opublikowany: 2022-12-05Funkcje ł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.
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!