Использование функции strsep в C

Ресурсы для обучения программированию на C Программирование и разработка

На каждом языке программирования вы можете писать коды от самого простого уровня сложности до очень высокого уровня сложности. Точно так же вам также приходится иметь дело с несколькими различными структурами данных каждый раз, когда вы сталкиваетесь с новой проблемой. Строки также классифицируются как одна из наиболее часто используемых структур данных, и именно поэтому с ними связано очень большое количество различных функций. В языке программирования C есть специальная библиотека, которая имеет дело со всеми функциями, связанными со строками, и в этой конкретной статье мы собираемся изучить одну из самых важных и полезных функций этой библиотеки.

Что такое функция «strsep» в C?

Функция «strsep» в языке программирования C используется для нарезки заданных строк. При написании кода на C вы часто сталкиваетесь с разными длинными строками, которые хотите разметить на основе заданного разделителя. В таких ситуациях пригодится функция «strsep», которая сделает все необходимое за вас. Основная цель этой функции — просто разбить заданную строку на несколько фрагментов в соответствии с логикой вашей программы на C. Затем вы можете использовать эти нарезанные фрагменты для хранения их в базе данных или даже использовать их в той же программе для любых намеченных целей.

Аргументы функции «strsep» в C:

Типичный синтаксис функции «strsep» следующий:

# strsep(StringToBeSliced, Delimiter);

Эта функция принимает два разных аргумента, как указано в приведенном выше синтаксисе. Первый аргумент — это строка, предоставленная в качестве входных данных для этой функции, которую вы собираетесь нарезать, тогда как второй аргумент — это разделитель, в соответствии с которым вы хотите нарезать предоставленную строку.

Какой библиотеке принадлежит функция «strsep» в C?

Функция «strsep» принадлежит библиотеке «string.h» языка программирования C. Как только вы включите эту библиотеку в свою программу на C, вы сможете удобно использовать функцию «strsep» внутри этой программы.

Пример реализации функции «strsep» на C:

В этом разделе мы познакомим вас с очень простым вариантом использования функции «strsep» на языке C. Чтобы понять это, вам нужно увидеть следующий пример кода, написанный на языке C:

Читайте также:  React Props: основы

В этом разделе мы познакомим вас с очень простым

В эту программу C мы сначала включили библиотеку «stdio.h», которая является стандартным заголовочным файлом для операций ввода и вывода в языке программирования C. Затем мы включили библиотеку «string.h». Этот заголовочный файл на самом деле содержит реализацию функции «strsep», как мы уже упоминали в этой статье. Затем у нас есть наша функция «main()», в которой мы сначала объявили двухсимвольные указатели типа, а именно «string» и «chunk». Первый указатель будет указывать на начальный адрес строки, которую нужно разрезать, тогда как второй указатель будет действовать как счетчик для нашего цикла, который используется позже в этом коде. Затем у нас есть оператор «strings = strdup („Привет, мир! Я — функция среза строки!“)».

В этом операторе мы использовали функцию «strdup» заголовочного файла «string.h». Этот оператор просто копирует предоставленную строку в связанную переменную, т.е. в данном случае; предоставленная строка будет присвоена переменной «string», которую мы объявили ранее в результате использования функции «strdup».

Затем у нас есть наш цикл «пока», который перебирает указатель «chunk», который будет указывать на нашу исходную строку, пока эта строка не станет «NULL». Мы использовали функцию «strsep» в этом цикле, которая будет продолжать нарезать предоставленную строку в соответствии с разделителем пробела » «, пока в этой строке не останется символов или строка не станет «NULL». В этом цикле «пока» мы просто выводили значение переменной «chunk» для каждой итерации. Переменная «chunk» будет содержать символы перед указанным разделителем для каждой итерации цикла. Наконец, код завершается оператором «return 0».

Теперь нам нужно скомпилировать этот код C с помощью команды, показанной ниже:

$ gcc SliceString.c –o SliceString

Как только код скомпилирован без каких-либо сообщений об ошибках, следующим шагом будет выполнение его с помощью следующей команды:

$ ./SliceString

Вы можете видеть в выводе программы C, показанном на изображении ниже, что наша предоставленная строка была нарезана в соответствии с указанным разделителем пробелов, и каждое слово печатается как независимая строка на отдельной строке.

Вы можете видеть в выводе программы C, показанном на изображении ниже

Мы хотели посмотреть, как эта функция работает, если мы предоставим ей разделитель, отличный от пробела. Поэтому мы немного изменили нашу программу на C, как показано на следующем рисунке:

Мы хотели посмотреть, как эта функция работает, если мы предоставим ей разделитель

На изображении, показанном выше, вы можете видеть, что вся наша программа такая же, как мы обсуждали выше. Единственное отличие состоит в том, что на этот раз мы заменили разделитель с пробела на восклицательный знак.

После компиляции и выполнения этой C-программы предоставленная строка была нарезана в соответствии с разделителем восклицательным знаком, как показано на изображении ниже. Все восклицательные знаки были удалены из входной строки в этом выводе, при этом все остальные символы остались нетронутыми. Более того, места, откуда из нашей строки были удалены восклицательные знаки, вносили в вывод новые строки.

После компиляции и выполнения этой C-программы предоставленная строка была

Чтобы глубже изучить работу функции «strsep» с разделителем, отличным от пробела, мы попробовали еще один различный разделитель. Для этого мы использовали следующий код C:

Чтобы глубже изучить работу функции «strsep»

На изображении, показанном выше, вы можете видеть, что вся наша программа такая же, как мы обсуждали выше. Единственное отличие состоит в том, что на этот раз мы изменили разделитель с восклицательного знака на символ «а».

После компиляции и выполнения этой C-программы предоставленная нами строка была нарезана в соответствии с символом-разделителем «a», как показано на изображении ниже. В этом выводе все появления символа «а» были удалены из входной строки, при этом все остальные символы остались нетронутыми. Более того, места, откуда из нашей строки был удален символ «а», вносили в вывод новые строки.

После компиляции и выполнения этой C-программы

Вывод

Это руководство в основном предназначено для обсуждения функции «strsep» в языке программирования C. Мы кратко познакомили вас с этой функцией, указав цель использования этой функции в C. Затем мы поделились с вами общим синтаксисом этой функции, специально объяснив вам все аргументы, которые принимает функция «strsep» в C.

После этого мы запустили библиотеку C или заголовочный файл, к которому относится именно эта функция. Затем мы поделились с вами очень простым примером, который использует эту функцию в C для нарезки заданной строки в соответствии с указанным разделителем. Потом мы просто обсуждали с вами разные варианты одного и того же примера, каждый раз меняя разделитель. Как только вы поймете все это обсуждение использования функции «strsep», вы сможете писать эффективные программы на C, которые используют эту функцию для нарезки заданных строк.

Оцените статью
bestprogrammer.ru
Добавить комментарий