Funkcja ciągów C ++

Funkcja ciągów C ++
Ciąg jest klasyfikowany jako rodzaj danych i zwykle jest reprezentowany jako tablica struktur danych bajtów lub znaków, które mają na celu zapisanie kilku elementów, zwykle znaki. Koncepcyjnie jest identyczny z tablicą postaci języka C. Chociaż w C ++ istnieje określona klasa z kilkoma przydatnymi atrybutami i metodami, które umożliwiają większe i bardziej kompleksowe obsługę struktury danych stringowych, które jest możliwe w przypadku tablic znaków. Dynamiczny alokacja pamięci jest używana dla ciągów. Oznacza to, że oszczędzasz, że musisz zainicjować swój obiekt z wcześniej określonym rozmiarem, którego nie można zmienić na czas trwania całego kodu.

Aby użyć funkcji stringowych w C ++, musimy najpierw uwzględnić bibliotekę zawierającą funkcje ciągów. Obiekt string. Różnorodne funkcje łańcuchowe; w tym Strcat, Strlen, Strcmp, Strcpy, Swap i wiele innych są dostarczane przez „String.Biblioteka H ”w C++.

Metody stosowane w funkcjach ciągów

W C ++ następujące funkcje ciągów są używane, aby umożliwić łatwe uzyskanie pożądanego wykonania.

strcpy (var1, var2);
Jest to funkcja używana do kopiowania jednego ciągu zmiennej do innego ciągu. Innymi słowy, możemy powiedzieć, że var1 wartość zostanie przypisana do var2.

strcat (var1, var2);
Strcat jest odpowiedzialny za połączenie dwóch zmiennych. Na przykład, jeśli var1 zawiera wartość Mój I var2 zawiera artykuł następnie wynikowa wartość Strcat (var1, var2); będzie Myarticle.

Strlen (var1);
Ta funkcja służy do zliczenia słów łańcucha, które są do niego przekazane. W rezultacie zwróci długość ciągu.

strcmp (var1, var2);
Strcmp służy do porównania dwóch ciągów i zwróci wartość 0 Jeśli ciąg var1 I var2 są takie same; zwraca mniej niż 0 jest var1 jest większy niż var2 i zwróci większe niż 0 jest var1 jest mniej niż var2.

strchr (var1, r);
Strchr służy do wyszukiwania dowolnego znaku w ciągu. W powyższej inicjalizacji zastosowaliśmy funkcję Strchr. Jeśli chcemy wyszukać znak w ciągu, var1 to zmienna, która zawiera ciąg Mój artykuł. W tym ciągu chcemy szukać postaci R Zwróci wskaźnik, gdy list R wystąpi na pierwsze.

Strstr (var1, var2);
Służy do wyszukiwania ciągu w innym ciągu, w Strstr (var1, var2); Minęliśmy dwa wymienione struny var1 I var2 w którym var1 ma być z tego var2 Jak tylko otrzymamy pożądany ciąg, wskaźnik zostanie zwrócony.

Przykład 1: Korzystanie z metod funkcji ciągów

Rzućmy okiem na pierwszą instancję.

#włączać
#włączać
za pomocą przestrzeni nazw Std;
int main ()
char var1 [12] = „my”;
char var2 [12] = "artykuł";
char var3 [12];
długość;
strcpy (var3, var1);
Cout <<"strcpy( var3, var1) : "<< var3 << endl;
strcat (var1, var2);
Cout <<"strcat( var1, var2): "<< var1 << endl;
długość = strlen (var1);
Cout <<"strlen(var1) : "<< length << endl;
powrót 0;

Najpierw dołączamy plik nagłówka #włączać która jest biblioteką z predefiniowanymi metodami Cin I Cout To jest stosowane do obiektów wejściowych i wyjściowych w C++. Następnie zdefiniowaliśmy nasz plik nagłówka ciągów, który pozwala nam korzystać z wbudowanych funkcji, takich jak Strcpy, Strstr, Strcat itp.

Następnie użyliśmy za pomocą przestrzeni nazw Std; Plik nagłówka, który jest używany, ponieważ nie możemy mieć zmiennych, funkcji itp. o tej samej nazwie w programowaniu. Dlatego zatrudniamy przestrzenie nazw Aby zapobiec tym konfliktom.

Zbliżając się do naszej głównej funkcji int main (), Int to typ liczby całkowitej, który będzie typem zwrotu kodu. System operacyjny, który wykonuje nasz kod, wywołuje funkcję główną. Pojedynczy program może zawierać nieograniczoną liczbę funkcji, ale może zawierać tylko jedną główną funkcję.

Po tym zainicjowaliśmy nasze zmienne stringowe var1 wielkości tablicy 12, var2 z rozmiarem tablicy 12 I var3 wielkości tablicy 12, Gdzie var1 jest przypisany wartością ciągu Mój I var2 jest przypisany artykuł. Nie przypisaliśmy żadnej wartości var3 Ponieważ będziemy go używać do kopiowania naszego var1 do var3. Nasza czwarta zmienna ma nazwaną liczbę całkowitą typu danych długość którego użyjemy do obliczenia długości powstałego ciągu.

strcpy (var3, var1); W tym przypisujemy var3 wartość var1 który jest Mój a następnie wyświetlanie go za pomocą Cout instrukcja odpowiedzialna za wyświetlanie treści jako wyjścia. Następnie użyliśmy funkcji strcat który służy do połączenia dwóch różnych strun w jednym. Jak pokazano w wierszu 17, połączyliśmy dwa wymienione struny var1 I var2 Aby uczynić ich jeden ciąg.

Teraz naszym następnym krokiem jest obliczenie długości całego połączonego ciągu. Przypisaliśmy Strlen funkcja naszej zmiennej liczb całkowitych długość i przekazał do niego zmienną ciągów, którą obliczymy. Następnie będzie wyświetlane przy użyciu naszych Cout oświadczenie.

Rodzaje funkcji łańcucha

Język programowania C ++ zwykle używa dwóch rodzajów ciągów:

Typ 1: C ciąg (ciąg w stylu C)
Crings to jednowymiarowa gama znaków, które są zamknięte 0. W rezultacie ciąg, który kończy się null, zawiera znaki, które komponują ciąg.

Metody inicjalizacji ciągów C
Do inicjalizacji łańcucha mój artykuł użyjemy dwóch metod. Tablica znaków trzymająca ciąg musi być o jeden znak większy niż słowa mój artykuł Aby pomieścić zerowy charakter na końcu tablicy.

Metoda 1

# char var [12] = „m”, „y”, „a”, „r”, „t”, „i”, „c”, „l”, „e”, „\ 0;

W tym zainicjowaliśmy zmienną nazwaną var z typem danych zwęglać który służy do reprezentowania typu danych postaci. Przypisaliśmy wartość ciągu do zmiennej var to jest „m, y, a, r, t, i, c, l, e, \ 0”. W tym „\ 0” służy do przedstawienia wartości zerowej, która pozwoli kompilatorowi zakończyć ciąg.

Przykład 2: Przypisanie ciągu do zmiennej za pomocą metody 1

Sprawdź drugą instancję tego artykułu.

#włączać
za pomocą przestrzeni nazw Std;
int main ()
Char Myvar1 [12] = „M”, „Y”, „,„ A ”,„ R ”,„ T ”,„ I ”,„ C ”,„ L ”,„ E ”,„ \ 0 ” ;
Cout <<"message: ";
Cout << myvar1 << endl;
powrót 0;

W tym przykładzie zamierzamy przypisać i wyświetlić nasz ciąg za pomocą metody 1, po włączeniu plik nagłówka iostream co pozwala nam go używać CIN i Cout Operacje do wyświetlania lub uzyskania danych od użytkownika. Przechodzimy w kierunku naszej głównej funkcji, w której wszystkie nasze wykonanie zostanie wykonywane.

Zdefiniowaliśmy zmienne nazewnictwo myvar1 który zawiera tablicę znaku danych mój artykuł. Następnie wyświetliśmy naszą wartość ciągów za pomocą Cout oświadczenie. Przypisowaliśmy tablicę znaków wielkości 12 do naszej zmiennej i przekazał ją naszemu Cout funkcjonować. Powstałe wyjście to:

Metoda 2

# char var = „mój artykuł”;

W powyższym kodzie zainicjowaliśmy inną zmienną var który zawiera również wartość ciągu mój artykuł. Ten mój artykuł jest bezpośrednio przypisany var używając odwróconych przecinków zamiast osobno przypisywania alfabetów.

Przykład 3: Przypisanie ciągu do zmiennej za pomocą metody 2

W poniższym przykładzie przypiszmy wartość ciągu do naszej zmiennej myvar1:

#włączać
za pomocą przestrzeni nazw Std;
int main ()
Char Myvar1 [12] = „mój artykuł”;
Cout <<"message: ";
Cout << myvar1 << endl;
powrót 0;

Utworzyliśmy zmienną o nazwie myvar1 który przechowuje szereg danych dotyczących postaci, lub mój artykuł. Następnie za pomocą Cout instrukcja, wydrukowaliśmy naszą wartość ciągu. Kiedy daliśmy postaci wielkości 12 do naszego Cout Funkcja, wyjście było następujące:

Typ 2: Obiekty klasowe, które są ciągi (klasa ciągów standardowej biblioteki C ++)

Ciąg C ++ jest instancją ciągu klasy, która znajduje się w standardowej przestrzeni nazw i zdefiniowana w pliku nagłówka . Aby zbudować obiekt ciągów, można również wywołać jeden z licznych konstruktorów dostępnych w klasie ciągów (jawnie lub domyślnie). Strings mają dodatkową ogromną zaletę korzystania z dynamicznego alokacji pamięci w stosunku do tablic znaków, które nadal można użyć w C++.

Składnia

# string var = „mój artykuł”;

W tym mamy wymienioną zmienną ciągu var który zawiera wartość mój artykuł. Poniżej znajduje się metoda zadeklarowania lub zainicjowania łańcucha, który składa się ze słów mój artykuł. Tablica znaków trzymająca ciąg musi być o jeden znak większy niż słowa mój artykuł Aby pomieścić zerowy charakter na końcu tablicy.

Przykład 4: Korzystanie z funkcji String

Oto kolejny ważny przykład tego przewodnika:

#włączać
za pomocą przestrzeni nazw Std;
int main ()
Char Myvar1 [50];
Cout <<"Enter a string: ";
Cin.Get (Myvar1, 50);
Cout <<"You entered: "<< myvar1 << endl;
powrót 0;

Zaczynamy od włączenia pliku nagłówka #włączać, która jest biblioteką, która wykorzystuje standardowe metody CIN i Cout dla urządzeń wejściowych i wyjściowych C ++. Następnie zdefiniowaliśmy nasz plik nagłówka łańcucha, umożliwiając nam stosowanie wbudowanych metod ciągów, takich jak Strcpy, Strstr, Strcat itp.

Przejście do naszej głównej funkcji, int main (), gdzie int jest typem liczby całkowitej, która będzie używana jako wartość zwracana dla kodu. Główna funkcja jest wywoływana przez system operacyjny, który uruchamia nasz kod. Nie ma ograniczeń co do liczby funkcji, które może mieć jeden program, ale może być tylko jedna główna funkcja.

Zmienna o nazwie myvar został utworzony, mając typ danych String. Cout oświadczenie zostało następnie użyte do wyświetlania Wprowadź ciąg: tekst, aby użytkownik otrzyma, że ​​musi wprowadzić wybrany ciąg. Po zrobieniu tego użyliśmy Getline funkcjonować. Ciąg lub linię można odczytać ze strumienia wejściowego za pomocą standardowej funkcji biblioteki getline () w c++. Należy do nagłówka sznurka. Robiąc to, ciąg wejściowy, jeśli taki, zastąpi wartość, która była wcześniej zapisana w obiekcie ciągu Myvar. Następnie wprowadzanie użytkownika ciągu Mój artykuł będzie wyświetlane za pomocą Cout Oświadczenie.

Przykład 5: Przekazywanie ciągu

Oto ostatni przykład tego przewodnika.

#włączać
za pomocą przestrzeni nazw Std;
void Charshow (char *);
void stringshow (ciąg);
int main ()
String myvar1;
Char Myvar2 [50];
Cout <<"Enter a string: ";
Getline (CIN, MyVar1);
Cout <<"Enter another string: ";
Cin.Get (myvar2, 50, „\ n”);
Stringshow (myvar1);
Charshow (MyVar2);
powrót 0;

void Charshow (char strn [])
Cout <<"Entered char array is: "<< strn << endl;

void stringshow (string strn)
Cout <<"Entered string is: "<< strn << endl;

W tym przykładzie będziemy używać obu metod przekazywania znaków łańcuchowych za pomocą tablic znaków, a także metod ciągów w jednym programie. Zaczynamy od włączenia pliku nagłówka #włączać . Następnie wykorzystaliśmy za pomocą przestrzeni nazw Std;.

W naszych plikach nagłówka zdefiniowaliśmy dwie nazwy funkcji Charshow () co będzie odpowiedzialne za wyświetlanie ciągu, który otrzymamy od użytkownika za pomocą tablicy znaków i drugiego Stringshow () To wyświetli ciąg, który otrzymamy od użytkownika za pomocą metody ciągu.

Wewnątrz funkcji głównej () tego przykładowego programu zadeklarowaliśmy dwa ciągi myvar1 które zostaną przypisane wartości za pomocą metody ciągu i drugiego myvar2 zostanie przypisany typ znaku za pomocą stałej tablicy 50 rozmiar. Użytkownicy muszą wprowadzić dwa ciągi. Są one przechowywane w zmiennych myvar1 I myvar2, Gdzie myvar2 to tablica char i myvar1 jest odpowiednio obiektem ciągu.

String jest następnie wyświetlany przy użyciu dwóch procedur o nazwie Charshow () i Stringshow (). Parametr jest jedynym rozróżnieniem między dwiema funkcjami. Pierwsza funkcja Charshow () akceptuje parametr typu tablicy char, podczas gdy druga akceptuje parametr ciągu typu.

Wniosek

Podstawą tego artykułu jest implementacja ciągów i jego kluczowe metody przy użyciu różnych typów, które pozwalają nam dostosować funkcję ciągów do spełnienia naszych wymagań, z przykładami stosowania ciągów i kiedy go zastosować. Dodaliśmy kilka funkcji, które są częścią funkcji ciągów w C++. Wyjaśniliśmy pięć różnych przykładów, aby rozwinąć działanie strun w C++.