Функция пропускает первые 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, что означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д