是否可能仅使用预处理器宏在字符串中填充空格(或任何字符)?如果是,该如何实现?
示例:
#define SOME_STR "v1.1"
#define STR_PAD(str, len) // <-- padding defined string
#define SOME_STR_PADDED STR_PAD(SOME_STR, 10) // evaluates to "v1.1 "
我知道运行时有简单的解决方案,但我的问题是如何在编译时填充字符串。
str
和len
都未知的一般情况下,似乎不可能实现,而且仅在str
未知的情况下也是如此。如果已知str
的长度并且len
受到某些合理固定值的限制,则可以生成一个复合三元表达式,编译为单个字符串常量。 - chqrlie