Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Массив строк в KEIL
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
zheka
Господа, хочу сделать как-то так
Код
const char[64] HEADER_CODE [5] ={"ddd","aaaa","ffff","hhhhh","eeee"}

не жрет это компилятор.
Как правильно?
ig_z
У меня так:

CODE

#if USB_ERROR_EVENT

static const char* UsbErrorMsgs[] =
{
"-------| PID_ERR -------------------------------------",
"------|- Unexpected Packet --------------------------",
"-----|-- Data CRC error -----------------------------",
"----|--- TIMEOUT ------------------------------------",
"---|---- End of packet error -------------------------",
"--|----- Buffer Overrun ------------------------------",
"-|------ Bit stuff error --------------------------",
"|------- Wrong toggle bit in data PID ----------------"
};

void USB_Error_Event(uint32_t error) // void USB_Error_Event (DWORD error)
{
TT_EN(Usb_ErrorEvent);
TT_MSG("error = 0x%X", error);

if (error & 0x000000FFL)
{
uint32_t i, err_msk;

for (i = 0, err_msk = 0x1; i < 8 ; i++, err_msk <<= 1)
{
if (error & err_msk)
{
TT_STR(UsbErrorMsgs[i]);
}
}
}

if (error & 0xFFFFFF00L)
{
TT_ERR_STR("USB_UNEXPECTED Error <================================");
}

if (error == 0)
{
TT_ERR_STR("UNEXPECTED invoke USB_Error_Event() handler <=========");
}

TT_EX();
}

#endif

Сергей Борщ
Вероятно подразумевалось
Код
const char HEADER_CODE [64][5] ={"ddd","aaaa","ffff","hhhh","eeee"}

ViKo
"hhhhh" в [5] не влезет
sigmaN
Обычно тоже массив указателей на строки делаю по типу как предложил ig_z
Компилятор сам строки разсовывает куда надо в секцию данных а в массиве имеем просто набор указателей на них.
Хотя применение такого метода можно посоветовать если массив используется только для чтения и строки в нем не меняются.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.