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

 
 
> Препроцессор, Странное вмешательство с текст
Dog Pawlowa
сообщение Jan 4 2011, 07:24
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



IAR Renesas R8C/M16

Вывод переменной из списка

Код
#define STATISTIC_VAR(type, name, engl, defa) sprintf(my_buf,"\r%s=%ld",    \
                    (char*)stat_name[stat##name],            \
                    (long)stat.##name    );    pcSSS(my_buf);


Код
STATISTIC_VAR    (    long,    device_on_time            ,    "ON time"          ,    0    )



добавляется пробел между именем stat и точкой

Код
sprintf(my_buf,"\r%s=%ld", (char*)stat_name[statdevice_on_time], (long)stat .device_on_time ); pcSSS(my_buf);


Это МОЙ текст!


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Pasha
сообщение Jan 4 2011, 13:17
Сообщение #2


;
******

Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509



Ниасилил, но кой ляд здесь
Код
(long)stat.##name

нужна склейка? Может, просто
Код
(long)stat.name

?
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jan 5 2011, 04:34
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(SSerge @ Jan 4 2011, 16:14) *
А попробуйте старый дедовский метод склеивания строк - посредством вставки пустого комментария вместо ##.
Вот так: (long)stat./**/name

Попробовал - два пробела - до точки и после точки.

Цитата(_Pasha @ Jan 4 2011, 19:17) *
нужна склейка?

Склейка не нужна, точка все равно разделитель.
Без склейки добавляется пробел после точки, к которому нет претензий.
Но есть склейка, или нет склейки - вставляется пробел ПЕРЕД точкой, то есть препроцессор влазит в мой текст.
Это место то ладно, но я широко использую препроцессор и начинаю бояться огрести неприятностей.

Да, нашел условия, при которых нет пробелов:
stat##.##name --> stat.wait_time


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 27th July 2025 - 08:19
Рейтинг@Mail.ru


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