Функция пропускает первые n символов из строки str и формирует из оставшихся символов строку result - C (СИ)
Формулировка задачи:
2. Написать функцию обработки строк: в качестве аргументов передаются в том числе строки, где конец обозначается нулевым символом '\0'.
Функция пропускает первые n символов из строки str и формирует из оставшихся символов строку result. Функция не должна выходить за пределы str. Например,
Листинг программы
- void dropString (char *str, int n, char *result);
Листинг программы
- char str[] = "Zug Zug!"; char result[sizeof(str) / sizeof(*str)]; dropString(str, 4, result); // "Zug!" dropString(str, 100, result); // ""
Решение задачи: «Функция пропускает первые n символов из строки str и формирует из оставшихся символов строку result»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- void dropString (char *str, int n, char *result)
- {
- strcpy(result, str + n);
- }
- int main()
- {
- char str[] = "Hey you, hey you,Devil's little sister,listening to your twisted transistor";
- char *p = NULL;
- int n;
- do{
- puts("Enter number simbols:");
- scanf("%d", &n);
- if(n >= strlen(str))
- puts("too much, try less");
- else break;
- }while(1);
- p = malloc((strlen(str) - n) * sizeof(p));
- dropString (str, n, p);
- puts(p);
- free(p);
- return 0;
- }
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы для работы с памятью и строками
- Определяем функцию dropString, которая принимает три аргумента: указатель на исходную строку, количество символов, которые необходимо пропустить и указатель на результат. Внутри функции происходит копирование оставшихся символов в результат
- В функции main считываем строку и определяем переменную n для хранения количества символов, которые необходимо пропустить
- Входим в цикл do-while, который будет выполняться до тех пор, пока пользователь не введет корректное значение для n (меньше или равно длине строки)
- Выводим сообщение с приглашением к вводу и считываем значение n с помощью функции scanf
- Проверяем, что введенное значение не превышает длину строки. Если это так, выводим сообщение об ошибке и переходим к следующей итерации цикла
- Как только пользователь вводит корректное значение, выходим из цикла и начинаем выполнение основной части программы
- Выделяем память под новую строку, которая будет содержать оставшиеся символы
- Вызываем функцию dropString, передавая ей указатель на исходную строку, количество символов для пропуска и указатель на новую строку
- Выводим новую строку на экран
- Освобождаем память, выделенную под новую строку
- Возвращаем 0, что означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д