Строки: Конкатенация строк

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
qwertyuiop
Сообщения: 75
Зарегистрирован: 24 мар 2005, 11:00

29 мар 2005, 19:34

Интересует как сделать сабж без использования библиотечных функций...
Плииз....
Аватара пользователя
WinMain
Сообщения: 913
Зарегистрирован: 14 янв 2005, 10:30
Откуда: Москва
Контактная информация:

30 мар 2005, 10:28

Для работы с символьными строками можно написать собственный аналог большинства библиотечных функций. Там алгоритмы довольно простые, на уровне упражнений для начинающих.
melkiy
Сообщения: 3
Зарегистрирован: 18 ноя 2004, 17:20
Контактная информация:

31 мар 2005, 11:35

Может кто-нибудь объяснит, что такое "сабж" и откуда слово происходит?
Пожалуйста 8-)
Аватара пользователя
Romeo
Сообщения: 3091
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

31 мар 2005, 12:15

См. англ. Subject.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
qwertyuiop
Сообщения: 75
Зарегистрирован: 24 мар 2005, 11:00

31 мар 2005, 14:17

спасиб !
Вопрос снят!!!
TERM
Сообщения: 3
Зарегистрирован: 16 окт 2005, 17:38

16 окт 2005, 17:47

И всё-таки, как это сделать?
TERM
Сообщения: 3
Зарегистрирован: 16 окт 2005, 17:38

16 окт 2005, 19:17

С использованием указателей.
Аватара пользователя
Romeo
Сообщения: 3091
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

17 окт 2005, 11:17

Код: Выделить всё

extern const char* str1;
extern const char* str2;

const int nLen1 = strlen(str1);
const int nLen2 = strlen(str2);

char* strResult = new char [nLen1 + nLen2 + 1];
strcpy(strResult, str1);
strcpy(strResult + nLen1, str2);

// let's use resulting string
// ...
// now it is already unnecessary

delete[] strResult;
Для того, чтобы полность избавиться от использования библиотечных функций осталось только самим имплементировать strlen и strcpy. Думаю, это уже не составит труда.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
TERM
Сообщения: 3
Зарегистрирован: 16 окт 2005, 17:38

17 окт 2005, 20:36

Спасибо!
Ответить