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

Не получается соединить две строки

05.02.2015, 20:02. Показов 1059. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
int number = 105;
    char *ptr = new char[100];
    itoa(number, ptr, 10);
    cout << ptr << endl;
    char *z = new char[200];
    z = "qwert";
    cout << z << endl;
    strcat(z, ptr);
    cout << z << endl;
Не могу понять, почему строки не сцепляются. Может кто знает ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.02.2015, 20:02
Ответы с готовыми решениями:

Соединить две строки
Ребята, помогите пожалуйста. Есть строка &quot;студенты группы&quot; и нужно прибавить к ней строку по выбору &quot;идиоты&quot; или...

Соединить две строки!
Вот есть такой код, почему строки не соединяются?? может кто подскажет!? #include &quot;stdafx.h&quot; #include &lt;string.h&gt; ...

Соединить две строки в одну
А если пример таков: include &lt;iostream&gt; inclide &lt;string.h&gt; include&lt;stdio.h&gt; int main() char perl1, perl2, perl; { ...

4
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
05.02.2015, 20:05
Ты снова ту же ошибку делаешь. Строки char только функциями обрабатываются, = не работает. Вместо 6-й строки:
C++
1
strcpy(z, "qwert");
1
0 / 0 / 0
Регистрация: 12.06.2014
Сообщений: 76
05.02.2015, 20:28  [ТС]
nmcf, Спасибо большое ))
0
Модератор
Эксперт С++
 Аватар для zss
13771 / 10964 / 6491
Регистрация: 18.12.2011
Сообщений: 29,241
05.02.2015, 20:40
Цитата Сообщение от Ученик кода Посмотреть сообщение
char *ptr = new char[100];
Если длина строки константная, тогда зачем new?
Это источник утечки памяти.
C++
1
char ptr[100];
1
Диссидент
Эксперт C
 Аватар для Байт
27714 / 17332 / 3810
Регистрация: 24.12.2010
Сообщений: 38,978
05.02.2015, 20:42
Любопытная ситуация.
char *z = new char[200]; - указатель z указывает на неинициализированную (мусорную) динамическую память к куче.
z = "qwert"; - А теперь z указывает на статическую область памяти, в которой содержится "qwert". Прежняя динамическая память стала недоступна и уже никак не сможет быть освобождена.
strcat(z, ptr); - Делается попытка записи в статическую память. Дальнейшее поведение зависит от транслятора. Но очевидно, что программа должна закончится аварийно. Или из-за запрета записи в эту память, или из-за порчи нужных данных.

Добавлено через 1 минуту
Но еще более любопытно то, что транслятор этот бред не отлавливает. Синтаксически - все законно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.02.2015, 20:42
Помогаю со студенческими работами здесь

Соединить две строки и удалить гласные буквы
Здравствуйте, помогите пожалуйста с лабораторкой. У самого не выходит. Заранее спасибо! С++ Одну строку инициализировать в программе,...

Соединить две строки в одну
задать два текста. слова в них разделены пробелом, в конце каждого - точка. получить новый текст путём их соединения.

Соединить две введенные строки в одну
Можете помочь с заданием??Написать программу, которая соединяет две введенные строки (длиной не более 50 символов) в одну и печатает...

Как соединить две строки в одну
Суть такова - есть 2е переменные, нужно склеить их в одну. Например Per1 = &quot;Hello &quot; Per2 = &quot;World!&quot; Нужно получить...

Как соединить две строки в одну?
Привет всем. Как соединить их в едино у меня выходить так UnicodeString a=&quot;&quot;; a=&quot;Олег Вещий&quot;; if...


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

Или воспользуйтесь поиском по форуму:
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