logo

Funkcja Strsep() w C

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.