IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным. В описании темы указываем язык!!!

 
 Ответить  Открыть новую тему 
> Сравнение символов незавимо от регистра, С++ Builder 6
18192123
сообщение 18.02.2009 16:20
Сообщение #1


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Сравниваю два символа типа char с помощью функции stricmp..
Компилятор выдаёт ошибку: Cannot convert 'int' to 'const char *'
Скажите пожалуйста, в чём причина??


struct str
{
        char symbol;
        unsigned int count;
        double probability;
};
typedef str STR;
STR Alph[n];
//-----------------------------------

char FindSymbol(char c,char m)
 {
  for(int i=0;i<m;i++)

   if(!stricmp(Alph[i].symbol, c)) return i; //здесь ошибку выдаёт..
   return -1;
 }

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 18.02.2009 17:02
Сообщение #2


Гость






Цитата
в чём причина??
В том, что компилятор не может привести тип int к типу char *... Если тебе надо всегда сравнивать только один символ - можешь попробовать так:

char FindSymbol(char c,char m)
{
	for(int i=0;i<m;i++)
		if(!strnicmp((char *)(&Alph[i].symbol), (char *)(&c), 1)) return i;
	return -1;
}
, вроде должно сработать...
 К началу страницы 
+ Ответить 
18192123
сообщение 18.02.2009 17:16
Сообщение #3


Профи
****

Группа: Пользователи
Сообщений: 920
Пол: Женский
Реальное имя: Марина

Репутация: -  2  +


Спасибо!! Получилось smile.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 27.07.2025 2:39
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"