Wstęp:
Smyczki są istotnym elementem programowanie , ponieważ umożliwiają komunikację użytkowników, wyświetlaj wyniki i czytaj pliki . Są rodzajem mechanizmu wprowadzania i wyprowadzania danych. Od smyczki są stale używane w pewnych celach w tworzonych przez nas programach, kluczowa jest wydajna obsługa ciągów znaków i funkcje, które je przetwarzają.
W tym samouczku dowiesz się, jak dzielić tekst w zależności od ograniczników za pomocą metoda strsep(). .
Przejdziemy przez wejście I argumenty wyjściowe Do strsep() , jego składnia I wyjaśnienie teoretyczne oraz dozwolone typy danych dla każdego z tych argumentów.
Następnie zastosujemy w praktyce to, czego się nauczyliśmy, używając fragmentów kodu i grafiki do fragmentowania ciągów znaków za pomocą metody metoda strsep(). co widać na praktycznych przykładach.
Składnia funkcji Strsep() w języku C:
char *strsep(char **restrict stringp, const char *restrict delim);
Wyjaśnienie funkcji Strsep() w C:
- A strunowy jest rozdzielany za pomocą funkcja strsep(). , zaczynając od wcześniej ustalonego ogranicznika.
- The strunowy wskazany przez wejście stringp argument jest dzielony przez tę funkcję, a następnie części są łączone w celu utworzenia nowych ciągów, których wszystkie kończą się znakiem null.
- Każdy nowy ciąg zaczyna się od adres podany przez wskaźnik wyjściowy i kończy się, gdy ogranicznik określone przez udostępniam I strsep() Po znalezieniu ogranicznika funkcja zastępuje go znakiem null, aby wskazać koniec nowego ciągu.
- The wskaźnik stringp jest automatycznie ustawiany na początku fragmentu po odkryciu znaku ogranicznika, gdy funkcja wraca z wywołania. The wskaźnik stringp jest teraz przygotowany do uzyskania następnego fragmentu w następującym wywołaniu funkcji. Dopóki strsep() zabraknie ograniczników i zwraca wskaźnik zerowy. W rezultacie proces ten jest powtarzany dla każdego połączenia.
Należy zauważyć, że funkcja ta nieodwracalnie zmienia wprowadzony tekst, zastępując znaki zerowe w miejsce ograniczników. The Nagłówek „string.h”. zawiera definicję funkcja strsep(). . Aby móc z niego korzystać i innych funkcji zarządzania ciągami znaków, musimy włączyć go do naszego kodu w następujący sposób:
#include
Jak używać funkcji Strsep() języka C do dzielenia ciągu na kilka fragmentów
W tym przykładzie wyrażenie „Zacznijmy programować” jest tworzony jako ciąg znaków, a jego zawartość jest rozdzielana przy użyciu metody funkcja strsep(). . Każdy z nowo utworzonych ciągów jest następnie generowany w osobnej linii w pliku terminal dowodzenia . Ciąg wskazywany przez sznurek Parametr wejściowy jest dzielony słowo po słowie, ponieważ ogranicznikiem, którego używamy w argumencie wejściowym delim, jest: znak spacji ('') .
terminal Kali Linux
Ogłaszamy 'grzech' ciąg znaków wraz z tekstem „Zacznijmy programować” i wskaźnik „in_Ptr”. w główna funkcja . The stringp funkcji strsep(). argumentem wejściowym jest ten wskaźnik.
jako usuń argument wejściowy dla metoda strsep(). i wyznaczony znak ogranicznika, dodatkowo deklarujemy „ciąg del” ze znakiem spacji. Następnie ogłaszamy Wskaźnik „o_Ptr”. , który jest używany jako Argument wyjściowy strsep(). . The metoda printf(). użyje tego wskaźnika jako argumentu wejściowego do wyświetlenia odzyskanego fragmentu w konsoli poleceń.
Następnie, po dostarczeniu sznurka jako pierwszy argument, the „w_Ptr” wskaźnik jako drugi parametr i Wskaźnik „o_Ptr”. jako argument wyjściowy wywołujemy funkcja strsep(). . To wywołanie jest wykonywane wewnątrz pliku a pętla while z warunkiem ucieczki, że nie ma już żadnych ograniczników kiedy strsep() zwraca wskaźnik zerowy.
Kod dla tego przykładu jest następujący:
jesteś splotem
#include #include int main() { char s_in[50] = 'Let's start programming '; char del[20] = ' '; char* in_Ptr = s_in; char* o_Ptr; while ((o_Ptr = strsep(&in_Ptr, del)) != NULL) { printf('%s ', o_Ptr); } return 0; }
strsep() dzieli 'grzech' ciąg słowo po słowie, tworząc za każdym razem nowy ciąg, który jest następnie wyświetlany w nowej linii w konsoli poleceń, jak pokazano poniżej;
Wyjście:
Let's start programming
Wniosek
W tym artykule pokazaliśmy, jak przetwarzać ciągi znaków za pomocą metody funkcja strsep(). , jedna z funkcji określonych w „ciąg.h” nagłówek. Rozmawialiśmy o teoretycznym uzasadnieniu tego składnia, technika wywoływania , I operacja . Dodatkowo zademonstrowaliśmy rodzaj danych akceptowanych przez każdy argument wejściowy i wyjściowy.