Извините, это не совсем то :)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено smav 19 сентября 2003 г. 15:08
В ответ на: Держи (+) отправлено Отделение 13 19 сентября 2003 г. 13:18

#define d 1
#define tostr(ff) #ff
#define ttt(ggg) tostr(ggg)
#define str ttt(d)"строка"
Получится "1строка", а я хотел "\001строка"

На самом деле решение есть (сейчас коллективно нашли :):

#include

#define CODE 0A

#define HEX_CODE(y) 0x ##y
#define MAKE_HEX_CODE(x) HEX_CODE(x)
#define CHAR_CODE(y) \x ##y
#define MAKE_CHAR_CODE(x) CHAR_CODE(x)
#define s(x) #x
#define ss(x) s(x)

#define MAKE_STR(x) ss(MAKE_CHAR_CODE(x))

void main(void)
{
char *a = "авл " MAKE_STR(CODE) "jfgnjh ";
printf(a);
switch(*a)
{
case MAKE_HEX_CODE(CODE):
break;
};
}

Лаконичным его ну никак не назовешь :))

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru