Помощь - Поиск - Пользователи - Календарь
Полная версия: Сравнение символов незавимо от регистра
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Другие языки
18192123
Сравниваю два символа типа 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;
}

volvo
Цитата
в чём причина??
В том, что компилятор не может привести тип 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
Спасибо!! Получилось smile.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.