Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

сравнить 2 String

6.4K
01 мая 2005 года
MerlinWind
52 / / 01.05.2005
Помогите пожалуйста написать функцию, которая будет сравнивать два String. Причем строки могут быть и на английском и на русском.(Мне нужно упорядочить по алфавиту ValueListEdidor, может
у него сразу есть такой метод?).Думал будет работать такой код:

int SortByAlphabetF(String ss1, String ss2)
{
PChar s1="";
PChar s2="";
StrPCopy(s1,ss1);
StrPCopy(s2,ss2);

size_t z1=strlen(s1);
size_t z2=strlen(s2);
int i=(z1<z2)?z1:z2;

for(int j=0; j<i; j++)
{
if (s1[j]>s2[j])
return 1;
else if (s1[j]<s2[j])
return 2;


}
//по общей длине одинаковые строки
return 12;
}
но работает так неправильно((
6.4K
03 мая 2005 года
MerlinWind
52 / / 01.05.2005
Извините, что задавал такой простой вопрос. Я что то перемудрил-думал strcmp() сравнивает только английские и только 1 символ.А с ее использованием-все коректно работает.
int SortByAlphabetF(String s1, String s2)
{
char* c1=s1.c_str();
char* c2=s2.c_str();
if(strcmp(c1,c2)<0)
return 1;
if(strcmp(c1,c2)>0)
return 2;
//по общей длине одинаковые строки
//return 3;
if(s2.Length()<s1.Length())
return 2;
if(s1.Length()<s2.Length())
return 1;
//строки одинаковые
return 3;
}
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог