logo

Функция Strsep() в C

Въведение:

струни са съществен компонент на програмиране , защото правят възможно общуването с потребители, показват резултати и четат файлове . Те са вид механизъм за въвеждане и извеждане на данни. От струни постоянно се използват в някакво качество в програмите, които създаваме, ефективната работа с низовете и функциите, които ги обработват, са от решаващо значение.

Този урок ще ви научи как да разделяте текстове в зависимост от разделители, като използвате метод strsep(). .

Ще разгледаме вход и изходни аргументи за strsep() , неговото синтаксис и теоретично обяснение и разрешените типове данни за всеки от тези аргументи.

След това прилагаме наученото на практика, като използваме кодови фрагменти и графики, за да фрагментираме низове, използвайки метод strsep(). , което е демонстрирано в практическите примери.

Синтаксис на функцията Strsep() в езика C:

 char *strsep(char **restrict stringp, const char *restrict delim); 

Обяснение на функцията Strsep() в C:

  • А низ се разбива с помощта на функция strsep(). , започвайки с предварително определен разделител.
  • The низ посочено от въвеждане на stringp аргументът се разделя от тази функция и след това частите се комбинират, за да образуват нови низове, всички завършващи с нулевия знак.
  • Всеки нов низ започва от адрес даден от изходния указател и завършва там, където разделител посочено от споделям и strsep() Когато бъде намерен разделител, функцията го замества с нулев знак, за да посочи края на новия низ.
  • The указател stringp се задава автоматично в началото на фрагмента, след като знакът за разделител бъде открит, когато функцията се върне от извикването си. The указател stringp вече е готов да получи следващия фрагмент в следващото извикване на функция. До strsep() изчерпва разделителите и връща нулев указател. В резултат на това този процес се повтаря за всяко повикване.

Важно е да се отбележи, че тази функция променя въведения текст безвъзвратно, като замества нулеви знаци за разделителите. The заглавка 'string.h' съдържа определението на функция strsep(). . Трябва да го включим в нашия код, както следва, за да го използваме и другите функции за управление на низове:

 #include 

Как да използвате функцията Strsep() на езика C за разделяне на низ на няколко фрагмента

В този пример фразата „Да започнем да програмираме“ се създава като низ и съдържанието му се разделя с помощта на функция strsep(). . След това всеки от новосъздадените низове се произвежда на отделен ред в команден терминал . Низът, към който сочи stringp входният параметър се разделя дума по дума, тъй като разделителят, който използваме във входния аргумент delim, е интервал (' ') .

алгоритъм на Белфорд

Ние декларираме, 's_in' низ заедно с текста „Да започнем да програмираме“ и на указател 'in_Ptr' в Главна функция . The stringp на функцията strsep(). входен аргумент е този указател.

mycricketlive

Като разделителен входен аргумент за метод strsep(). и посочения разделителен знак, ние допълнително декларираме 'низ дел' с космически характер. След това декларираме указател 'o_Ptr' , който се използва като изходен аргумент на strsep(). . The метод printf(). ще използва този указател като входен аргумент за показване на възстановения фрагмент на командната конзола.

След това, след доставка на на низа като първи аргумент, 'in_Ptr' указател като втори параметър и указател 'o_Ptr' като изходен аргумент наричаме функция strsep(). . Това повикване се прави вътре в a докато цикъл с условието за избягване, че няма повече разделители, когато strsep() връща нулев указател.

Кодът за този пример е както следва:

 #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() разделя на 's_in' низ дума по дума, създавайки всеки път нов низ, който след това се показва на нов ред в командната конзола, както е показано по-долу;

Изход:

 Let's start programming 

Заключение

В тази статия демонстрирахме как да обработваме низове с помощта на функция strsep(). , една от функциите, посочени в 'string.h' заглавка. Говорихме за теоретичната обосновка на това синтаксис, техника на извикване , и операция . Освен това демонстрирахме вида данни, които всеки входен и изходен аргумент приема.