реклама на сайте
подробности

 
 
> Массив строк в KEIL
zheka
сообщение Dec 20 2013, 19:34
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 072
Регистрация: 14-01-06
Пользователь №: 13 164



Господа, хочу сделать как-то так
Код
const char[64] HEADER_CODE [5] ={"ddd","aaaa","ffff","hhhhh","eeee"}

не жрет это компилятор.
Как правильно?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
ig_z
сообщение Dec 20 2013, 21:08
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 437
Регистрация: 27-08-04
Пользователь №: 551



У меня так:

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

Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Dec 20 2013, 22:39
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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



--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
ViKo
сообщение Dec 21 2013, 08:26
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



"hhhhh" в [5] не влезет
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Dec 23 2013, 19:39
Сообщение #5


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Обычно тоже массив указателей на строки делаю по типу как предложил ig_z
Компилятор сам строки разсовывает куда надо в секцию данных а в массиве имеем просто набор указателей на них.
Хотя применение такого метода можно посоветовать если массив используется только для чтения и строки в нем не меняются.


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 10:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.01382 секунд с 7
ELECTRONIX ©2004-2016