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

Не работает += char* - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Программы на ОПП С++. 911 http://www.cyberforum.ru/cpp-beginners/thread795544.html
Нашел в одной из тем программу написанную на запрос по контрольной работе по ООП С++ форумчаниным lemegeton. Эта контрольная подходит и для моего варианта. Просьба откликнуться lemegeton. Я новичок в ООП С++ и конкретно просьба моя заключается в помощи описания написанной программы и добавления комментариев в программу. Пожалуйста помогите. Программа во вложениях. Или если кто поможет буду очень...
C++ Определение максимального и минимального значений во время ввода данных Определение максимального и минимального значений во время ввода данных даны натуральное число n и целые числа a1,a2, ..., an. Найти номер максимального и номер минимального из чисел ai. Если чисел с максимальным или с минимальным значением несколько, то должны быть найдены номера последних из них. Помогите кто может. Пожалуйста. http://www.cyberforum.ru/cpp-beginners/thread795538.html
C++ Бинарные деревья
Здравствуйте! Подскажите, правильно ли написано правое удаление вершины дерева? if(tree1->Right){ if(tree1->Right->Left==NULL){ tree1->key=tree1->Right->key; tree1->Right=tree1->Right->Right; }else{ tree1->key=findRightMini(tree1->Right); } } else if(tree1->Right==NULL){
Анализ трафика C++
Надо написать анализатор трафика, подскажите что почитать.
C++ не работает ctrl Пробел на Visual Studio 2010 http://www.cyberforum.ru/cpp-beginners/thread795515.html
Создал новый проект в Windows Forms но не работает сочетание клавиш ctrl+Пробел, может кто-нибудь знает в чем может быть проблема?
C++ Общее представление о задаче Задание такого: Программа для заполнения, поиска информации о группах Факультета: Название группы, название специальности, год набора, количество студентов, средняя успеваемость. Дополнительно – список студентов. Можно сказать, что я полный нуб в программировании. Нужно создать таблицу и ее ячейкам присвоить текстовые поля, в которые будут вводится данные? А как организовать поиск этих... подробнее

Показать сообщение отдельно
NEbO
583 / 451 / 49
Регистрация: 22.01.2009
Сообщений: 1,173
Записей в блоге: 1
Завершенные тесты: 1
27.02.2013, 06:41     Не работает += char*
если все-таки нужен чистый си:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <string.h>
#include <malloc.h>
 
char *concat_string(const char *s1, const char *s2) {
    int l1 = strlen(s1), l2 = strlen(s2);
    char *s = malloc(l1 + l2 + 1);
    memcpy(s, s1, l1);
    memcpy((char*)((int)s + l1), s2, l2);
    s[l1 + l2] = 0;
    return s;
}
 
int main() {
    char *s1 = "str1";
    char *s2 = "str2";
    char *s = concat_string(s1, s2);
    printf("%s\n", s);
    return 0;
}
но код не очень эффективный, также возможны утечки памяти, если сложений будет много (нужно не забывать очищать память строк s1 и s2). есть также вариант с realloc, но он у меня сходу не заработал.
 
Текущее время: 12:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru