Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Конкатенация строк: Зачем строки создаются в динамической памяти? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Помогите найти ошибку в решении биквадратного уравнения http://www.cyberforum.ru/cpp-beginners/thread1233710.html
Здравствуйте,написал код,проблема в том,если выполняется строка 31,то и всегда будет выполнятся строка под номером 39,как это исправить? писал по алгоритму,должно быть все правильно. Программа...
C++ Как обратиться к свойству класса Нубский вопрос, вот код: #include "stdafx.h" #include <iostream> using namespace std; class HelloClass http://www.cyberforum.ru/cpp-beginners/thread1233666.html
Выяснить, сколько бюллетеней осталось необработанными C++
В стране Виртландии раз в пять лет проходят выборы президента. И каждый раз после завершения голосования появляется необходимость подсчитать результаты. Рассмотрим процесс обработки бюллетеней в...
Преобразование string в long double C++
Одним из недостатков C++ является отсутствие для бизнес-программ встроенного типа для денежных значений, такого, как $173 698 001,32. Такой денежный тип должен иметь возможность для хранения числа...
C++ Нахождение среднего значения дробей http://www.cyberforum.ru/cpp-beginners/thread1233586.html
Напишите функцию main(), которая получает случайные дробные числа от пользователя, сохраняет их в массиве типа fraction, вычисляет среднее значение и выводит результат. т.е. пользователь вводит к...
C++ Получить последовательность число цифр которой равно знаменателю, а сумма этих цифр -числителю Доброго всем времени суток!Пожалуйста помогите сформировать вектор. Дана правильная несократимая дробь нужно получить последовательность число цифр которой равно знаменателю,а сумма этих цифр... подробнее

Показать сообщение отдельно
f0rtung
2 / 2 / 2
Регистрация: 24.07.2014
Сообщений: 9
25.07.2014, 13:15
у меня в Geany работает, в Qt не выводится результирующая строка. Проблема в том. что у вас указатель char* string в функции склеивания ни на что не ссылается.
Попробуйте вот такой вариант:
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
26
#include <iostream>
#include <cstring>
using namespace std;
char* Concatenate(char* string1, char* string2)
{
    char* string = new char[strlen(string1) + strlen(string2)];
    int i,j;
    for (i=0; string1[i]!='\0'; i++)
        string[i]=string1[i];
    for (j=0; string2[j]!='\0'; j++,i++)
        string[i]=string2[j];
    string[i]='\0';
    return string;
}
int main()
{
    int a = 3;
    char string1[a];
    char string2[a];
    cout << "Enter first string" << endl;
    cin >> string1;
    cout << "Enter second string" << endl;
    cin >> string2;
    cout << "Result:=  " << Concatenate(string1, string2) << endl;
    return 0;
}
если нельзя использовать встроенную функцию вывода длины строки, ее можно тоже самому написать, или цикл сделать.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru