
01.07.2009, 01:05
|
|
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами:
10386906
Репутация:
599
|
|
поизучай этот код.
Код:
char *split(char *s1, char *s2)
{
char *p = new char[strlen(s1) + strlen(s2) + 1];
char* result = p;
while( *p++ = *s1++ ) ;
p--;
while( *p++ = *s2++ ) ;
return result;
}
пара замечаний - не делай выделение памяти в одной функции, а освобождение в другой. или же делай класс, чтобы скрыть управление памятью(собсно тот самый string так и работает). если без классов - то первую строку переносишь в место вызова и добавляешь третий параметр - строка которая будет содержать результат.
второе - p[j++] = *s2++;
если уж делаешь через разыменовывние - делай все через разыменование. или все через индекс. а то этот код заставляет лишний раз на нем сфокусироваца.
Последний раз редактировалось Ra$cal; 01.07.2009 в 01:08..
|
|
|