W tym artykule zbadamy niektóre z powszechnych sposobów Podziel ciąg za pomocą ogranicznika w c++.
Podzielone ciągi za pomocą ogranicznika w c++
W C ++ istnieje wiele podejść do przełamania ciągu za pomocą ogranicznika, w tym:
1: Za pomocą funkcji FINK () i substr ()
Ciąg można podzielić za pomocą funkcji C ++ znajdować() I substr (). Pierwsza instancja podrzędu znajduje się przy użyciu znajdować() metoda. Jeśli nie ma już wystąpień, pozostały kawałek sznurka zostanie zwrócony po umieszczeniu w wektorze. Podłoże rozpoczynające się na początku tekstu i kończące się na ograniczeniu można następnie wyodrębnić za pomocą substr () funkcjonować. Możemy to robić, dopóki wszystkie podstęp nie zostaną uzyskane.
Oto przykład C ++, jak to Podziel ciąg za pomocą ogranicznika:
#włączaćW powyższym przykładzie wymieniony ciąg „STR” i wyznaczanie nazwiska „Zwajnik” są określone. Podjazdy z „STR” są następnie wyodrębnione za pomocą pętli white. Lokalizacja ogranicznika jest zwracana przez znajdować() metoda lub STD :: String :: NPOS Jeśli nie można go zlokalizować. Podłoże od początku „STR” Do ograniczenia jest wyodrębniane za pomocą „Substr ()” w tym miejscu, a następnie jest drukowany do konsoli. Wyodrębnione podłoże i ograniczenie są następnie wyciągnięte „STR” używając "usuwać()" funkcjonować. Kiedyś nie ma już ograniczeń „STR”, Powtarzamy tę operację. Następnie wyprowadzamy ostatni podłoże "wiśnia" do konsoli.
Wyjście
2: Za pomocą funkcji strtok ()
strtok () Funkcja to kolejna funkcja w C ++, która może skutecznie podzielić ciągami za pomocą ogranicznika w dowolnym programie C ++. Wyciąga dwa dane wejściowe; ciąg, który ma być podzielony i charakter podwajania. Oto wdrożenie strtok () Funkcja w C ++:
#włączaćstrtok () Funkcja jest używana w powyższym kodzie, aby rozbić ciąg wejściowy dostarczany przez użytkownika na tokeny, używając przecinka i przestrzeni jako ograniczników. Następnie publikuje każdy token do konsoli na osobnej linii. Odbywa się to poprzez przechowywanie ciągu wejściowego w tablicy char, iterując tokeny za pomocą wskaźnika char, a następnie wielokrotnie dzieląc ciąg, aż wszystkie tokeny zostaną wyświetlone.
Wyjście
3: Korzystanie z klasy StringStream
Używając klasa to kolejna technika podziału sznurka w C++. Możliwe jest wprowadzenie i wysyłanie danych sformatowanych, w tym ciąży, korzystając z tej klasy. Ciąg, który jest obsługiwany jako strumień, może mieć wyodrębnione z niego podjazdy za pomocą getline () metoda. getline () Metoda wyodrębni podłoże do ogranicznika, jeśli podamy jej ogranicznik jako parametr.
Oto ilustracja, jak to Podziel ciąg w C++ używając stringstream () funkcjonować.
#włączaćW powyższym kodzie znakowanie jest używane do podziału ciągu wejściowego na tokeny za pomocą . Przed wydobyciem każdego tokenu z Korzystając z ograniczenia, program inicjuje obiekt z ciągiem wejściowym. Wektor ciągów jest następnie rozszerzany przez każdy token. Następnie program zapętla się przez wektor, drukując każdy token do konsoli na końcu.
Wyjście
Wniosek
Podzielanie łańcucha za pomocą ogranicznika jest skutecznym podejściem w C ++ i istnieje kilka wbudowanych funkcji w C ++, które umożliwiają dzielenie ciągów. Funkcje te obejmują find (), substr (), strtok () I Stringstream klasa. Programiści powinni rozważyć szczególne wymagania ich aplikacji i wybrać funkcję, która najlepiej dla nich działa.