Есть ли в языке Си аналоги функций Pos() и Delete()? - C (СИ)
Формулировка задачи:
Добрый день.
Пользователем вводится строка
Необходимо разделить ее на две части( до запятой и после запятой). Как это сделать? Есть ли в языке Си аналоги функций паскаля Delete() и Pos()?
Если можно, приведите, пожалуйста, примеры использования таких функций.
char d[100]; printf("Введите число:\n"); gets(d);
Решение задачи: «Есть ли в языке Си аналоги функций Pos() и Delete()?»
textual
Листинг программы
#include <stdio.h> static const char* pszText = "Something in a thirty-acre thermal thicket of thorns and thistles thumped and thundered threatening the three-D thoughts of Matthew the thug - although, theatrically, it was only the thirteen-thousand thistles and thorns through the underneath of his thigh that the thirty year old thug thought of that morning."; int main(int argc,char* argv[]) { char pBuf[1000]; strcpy(pBuf,pszText); char* pStr1 = pBuf; char* pStr2 = strchr(pBuf,','); printf("This is FULL text: %s\n\n",pBuf); if (!pStr2) { // Error ! // Delimiter Not found return 0; } *pStr2 = 0; ++pStr2; printf("This is text BEFORE comma: %s\n\n",pStr1); printf("This is text AFTER comma: %s\n\n",pStr2); return 0; }
Объяснение кода листинга программы
- В данном коде на Си реализуется функция, которая разбивает строку на две части по заданному разделителю (в данном случае запятой).
- Сначала мы объявляем строку
pszText
, которая содержит исходный текст. Затем мы объявляем буферpBuf
для хранения копии исходного текста. - Затем мы копируем исходный текст в буфер с помощью функции
strcpy()
. Далее мы инициализируем указательpStr1
на начало буфера иpStr2
на первый символ запятой в буфере с помощью функцииstrchr()
. - Если
pStr2
равенNULL
, это означает, что запятая не найдена в строке. В этом случае выводится сообщение об ошибке и программа завершается. - *Если
pStr2
не равенNULL
, мы устанавливаем `pStr2равным
NULL, чтобы отделить первую часть строки до запятой. Затем мы увеличиваем значение
pStr2` на 1, чтобы он указывал на следующую часть строки после запятой.** - Мы выводим первую часть строки до запятой с помощью
printf()
и вторую часть строки после запятой также с помощьюprintf()
. - Наконец, функция
main()
возвращает0
, указывая на успешное выполнение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д