Доброго дня!
В чужом заголовочном файле есть:
#define number 10
У себя надо получить:
#define stamp "stamp n.10" // где 10 берётся выше, в строке пробел обязателен
Очевидно, что решение в лоб не работает:
#define mkstr(s) # s
#define concat(a,b) a ## b
#define stamp mkstr(concat(stamp n., number))
Проблема в
mkstr(), который раскрывается до
concat(). Знаю, что здесь надо использовать "магию" с промежуточным макросом, но не могу сообразить как реализовать.
Просьба помочь с корректным решением по формированию указанной строки средствами макросов языка Си.