Объединение двух строк в одну, причем вторая присоединяется к первой, начиная с n-го элемента первой - C (СИ)
Формулировка задачи:
Объединение двух строк в одну, причем вторая присоединяется к первой, начиная с n-го элемента первой.
Помогите пожалуйста. нашел кучу исходников. примеры по Функция strcat. но никак не могу заставить её работать.
#include <conio.h>
#include <stdio.h>
void main(void)
{
char s[80], t[80];
int i = 0, j = 0;
clrscr();
puts("Введите первую строку ");
gets(s);
puts("первая строка");
puts(s);
puts("Bведите вторую строку ");
gets(t);
puts("вторая строка");
puts(t);
while (s[i] != '\0')
{
i++;
}
while (t[j] != '\0')
{
s[i] = t[j];
i++;
j++;
}
s[i] = '\0';
puts("результат:");
puts(s);
}
Люди Здесь есть кто.
опять я один
Решение задачи: «Объединение двух строк в одну, причем вторая присоединяется к первой, начиная с n-го элемента первой»
textual
Листинг программы
#include <conio.h>
#include <stdio.h>
#include <string.h>
int main(void)
{
char s[80], t[80];
int i = 0, j = 0;
gets(t);
gets(s);
i = strlen(s);
int n = strlen(t);
memcpy(t+n, s, i+1); // êîïèðóåì ГЁГ§ s Гў t, Г*Г*Г·ГЁГ*Г*Гї Г± n-ГЈГ® ñèìâîëГ* ñòðîêè t
puts(t);
getch();
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Создаем две строки типа char s[80] и t[80]
- Считываем строки с помощью функции gets(t) и gets(s)
- Находим длину первой строки с помощью функции strlen(s) и сохраняем ее в переменную i
- Находим длину второй строки с помощью функции strlen(t) и сохраняем ее в переменную n
- С помощью функции memcpy копируем (склонируем) строку s, начиная с n-го символа в строку t
- Выводим полученную объединенную строку на экран с помощью функции puts(t)
- Выходим из программы с помощью функции getch()