Массив строк -- как правильно реализовать ?
Posted: 05 Jan 2014, 22:28
Прошу у сообщества оказать посильную помощь 
Есть некоторая функция comparestr (), которая в качестве аргументов принимает два указателя на строки. Если входные строки одинаковы -- возвращает ноль. Для наглядности:
Хочу вместо COMMANDS скармливать функции массив строк, вот так:
Вопрос: как правильно описать такой массив ? Как правильно прописать аргумент функции ?
Сейчас описываю массив так:
Выражением *COMMANDS[6] я делаю массив указателей, каждой ячейке массива присваиваю значение указателей на строки. Но компилятор пишет, что "несовместимый тип аргумента" для функции comparestr ().
Заранее благодарю
P.S. Использую STVD + Cosmic
Есть некоторая функция comparestr (), которая в качестве аргументов принимает два указателя на строки. Если входные строки одинаковы -- возвращает ноль. Для наглядности:
Code: Select all
error = comparestr (&COMMANDS, &buffer);Code: Select all
while (i <= 6)
{
error = comparestr (COMMANDS[i], &buffer);
if (error == 0) break;
i++;
} Сейчас описываю массив так:
Code: Select all
/*Constants-------------------------------------- */
//-------------- Команды ---------------
const uint8_t SET_TIME[] = "settime\r";
const uint8_t SET_TELEPHONE[] = "settelephone\r";
const uint8_t SET_NUMBER[] = "setnum\r";
const uint8_t SET_SCHEDULE[] = "setschedule\r";
const uint8_t SHOW_SETTINGS[] = "showsettings\r";
const uint8_t SAVE_SETTINGS[] = "save\r";
const uint8_t *COMMANDS[6] = {SET_TIME,
SET_TELEPHONE,
SET_NUMBER,
SET_SCHEDULE,
SHOW_SETTINGS,
SAVE_SETTINGS};Заранее благодарю
P.S. Использую STVD + Cosmic