Показать сообщение отдельно
Старый 22.05.2013, 11:49   #1 (permalink)
Денич
Новичок
 
Регистрация: 04.12.2012
Сообщений: 2
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Нужно сравнить два массива указателей типа char

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

char *nm1;
int ln=strlen(Edit6->Text.c_str());
nm1=new char[ln+1];
strcpy(nm1,Edit6->Text.c_str());
nm1[ln]='\0';

char *av1;
int la=strlen(Edit7->Text.c_str());
av1=new char[la+1];
strcpy(av1,Edit7->Text.c_str());
av1[la]='\0';
ls.find1(nm1,av1,Label1);



и сама функция

void list::find1(char *nm1, char *av1, TLabel *mem)
{
kniga *t;
t=first;
while (t)
{
if ((nm1==t->name)|| (av1==t->avtor))
mem->Caption=(AnsiString(t->name)+" "+AnsiString(t->avtor)+" находится на "+IntToStr(t->stel));
t=t->next;
}
}
Денич вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070