Замена слова в строке - C (СИ) (247796)
Формулировка задачи:
Есть код:
Надо заменить case 1 на case1:
Подскажите, как это сделать и если можно, то пример кода
#include #include #include #include #include void main() { setlocale(LC_ALL,"rus"); int x; char *A, *A1, Astra[]="switch(Nom)){case 1 Poisk1(); break;}"; char *c=")", *y="case 1:", *k="case 1"; printf("Начальная строка -> %s",Astra); printf("\n\n"); printf("Удаляем символ -> )"); printf("\n"); A=strstr(Astra,c); memmove(A,A+1,strlen(A));// ??? printf("\n"); printf("Cтрока после удаления симвода -> %s\n", Astra); printf("\n"); printf("Теперь заменяем сase 1 на case 1:\n");
Решение задачи: «Замена слова в строке»
textual
Листинг программы
char Temp[1024]; int i; A = strstr(Astra, k); i = A - Astra; memcpy(Temp, Astra, i); Temp[i] = 0; strcat(Temp, y); strcat(Temp, A + 6);
Объяснение кода листинга программы
- Объявлены две переменные:
Temp
типаchar
с размером массива 1024 байта иi
типаint
. - Переменная
A
инициализируется функциейstrstr
, которая ищет первое вхождение подстрокиk
в строкеAstra
. - Переменная
i
инициализируется как результат вычитанияA
изAstra
. - С помощью функции
memcpy
содержимое первыхi
байт изAstra
копируется вTemp
. - В
Temp
добавляется нулевой символ, чтобы обозначить конец строки. - С помощью функции
strcat
кTemp
добавляется строкаy
. - С помощью функции
strcat
кTemp
добавляется подстрокаA + 6
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д