С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/9: Рейтинг темы: голосов - 9, средняя оценка - 4.89
3 / 3 / 3
Регистрация: 25.08.2013
Сообщений: 39

Функция которая склеивает 2 строки

02.10.2013, 15:24. Показов 1932. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Я решил написать простенькую функцию но у меня появилась проблема. В результате работы программы при вводе:
PHP
1
2
trat
ata
выводит
PHP
1
t
В решении проблемы хотелось бы услышать где проблема как ее решить, а вот решить я постараюсь сам.

вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
#include <conio.h>
 
using namespace std;
 
char String(char *input1,char *input2){
     char output[strlen(input1) + strlen(input2) + 1];
     int i = 0;
     for(i; i < strlen(input1); i++)
        output[i] = input1[i];
     for(i; i < strlen(input2); i++)
        output[i] = input2[i];
     output[i] = '\0';
     return *output;
}
 
int main(){
    char str1[100], str2[100];
    cin >> str1 >> str2;
    
    cout << String(str1, str2);
    
    _getch();
    return 0;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.10.2013, 15:24
Ответы с готовыми решениями:

Не могу найти простую ошибку. Склеивает строки
Привет. Программа выводит всю информацию правильно, но последние две строки не так как нужно. В переменную state записывается почему...

Функция, которая вычисляет длину C-style строки
Очень часто для работы со строками нам нужно сначала вычислить длину строки. Для C-style строк длина нигде явно не хранится, но её можно...

Функция, которая удаляет начальные и конечные пробелы из строки
Написать функцию, которая удаляет начальные и конечные пробелы из строки, полученной в качестве аргумента Добавлено через 1 час 33...

4
Эксперт по математике/физикеЭксперт С++
 Аватар для Ilot
2223 / 1425 / 420
Регистрация: 16.05.2013
Сообщений: 3,642
Записей в блоге: 6
02.10.2013, 15:39
Не верно указаны условия суммирования.
C++
1
2
for(int k = 0; k < strlen(input2); k++)
        output[i + k] = input2[k];
Добавлено через 8 минут
C++
1
char output[strlen(input1) + strlen(input2) + 1];
Не динамическое выделение памяти. У вас программа компиллится?
0
41 / 37 / 8
Регистрация: 24.07.2013
Сообщений: 219
02.10.2013, 15:49
Я могу ошибаться ведь давно не страдал подобным но помоиму создание статического масива с указанием его размера переменной возможно только если переменная константная ! а так как оно выглядит у вас оно работать не будит !
+ при передачи масивов в функцию нужно добавлять 2-ю строку к 1-й а не создавать новую .
Однако если хочется получить новую строку то прейдется создавать динамическую.
Тоесть можно заранее предвидев ситуацию создать основной масив больших размеров и дописывать в него все необходимое.
0
02.10.2013, 15:51

Не по теме:

Цитата Сообщение от LOLYOU1996 Посмотреть сообщение
C++
1
char output[strlen(input1) + strlen(input2) + 1];
VLA - это нестандартное расширение; для справки

0
41 / 37 / 8
Регистрация: 24.07.2013
Сообщений: 219
02.10.2013, 15:51
Я могу ошибаться ведь давно не страдал подобным но помоиму создание статического масива с указанием его размера переменной возможно только если переменная константная ! а так как оно выглядит у вас оно работать не будит !
+ при передачи масивов в функцию нужно добавлять 2-ю строку к 1-й а не создавать новую .
Однако если хочется получить новую строку то прейдется создавать динамическую.
Тоесть можно заранее предвидев ситуацию создать основной масив больших размеров и дописывать в него все необходимое.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.10.2013, 15:51
Помогаю со студенческими работами здесь

функция, которая обрезает пробелы в конце переданной ей строки
Ребята, здравствуйте, Подскажите, пожалуйста, как написать функцию (на С/С++), которая обрезает пробелы в конце переданной ей строки. ...

Функция которая ищет сумму символов строки выдает ноль
Извини автор что я сюда влезла, но интерестная задачка. Я решила ее сделать, но суму 0 выдает , и я не могу понять где ошибка: ...

Функция, которая возвращает количество повторяющихся символов в начале строки
Здравствуйте, помогите, пожалуйста разрабоать эту программу: • Разработать функцию, которая возвращает количество повторяющихся символов...

Функция которая заменяет значение в строки одного слова на другое
Напишите функцию, имеющую следующий прототип: int replace (char * str, char c_first, char c_second) . Эта функция должна заменять каждое...

Функция которая удаляет начальные и конечные пробелы из строки, полученной в качестве аргумента
Нужен код без использования strlen


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru