Цитата(sherr @ Nov 29 2014, 20:21)

А вот еще такой вопрос -
пусть функция
принимает строку
(это альтернативный вариант)
.......
CreateButton("x_40 y_80 color_black name_button1")
а в .h файле объявлено #define black 0x0000
Можно ли обьяснить препроцессору чтобы он
подставил значение внутрь строки или
как то еще выкрутиться ?
это излишне, но если очень хочется то лучше упростить
CreateButton( "40 80 black button1")
и
void CreateButton (unsigned char*str)
{
int x, y, color[20], name[20];
if( str && ( 4 == sscanf( str, "%u%u%s%s", &x, &y, color, name ) )
{
// и тут в вышеобявленных переменных будут искомые значения
if( memcmp( color, "black", 5 ) == 0 )
{ // это черный
}
}
}
есть вариант передавать BLACK как число через препроцессор, типо ## но с ходу как точно не скажу
Марс - единственная планета, полностью населенная роботами (около 7 штук).