是否可以创建C预处理宏,允许我调用字符串上的方法(char[])。
例如:
char myStr[10];
int len = strlen(myStr);将成为:
char myStr[10];
int len = myStr.len;或者:
char myStr[10];
int len = LEN myStr;C-preprocessor编辑:只是澄清一下,这个问题是关于而不是C语言本身的。对于所有意图和目的,可以用JavaScript、PHP或甚至纯文本替换上面的代码。
我要问的是,是否可以编写宏,在令牌之前或之后用其他文本包装文本。
一般来说,以下转变:
令牌文本=>包装文本包装
或
文本令牌 =>包装文本包装
发布于 2022-11-14 07:36:30
No,预处理程序不能这样做:
令牌文本=>包装文本包装
或
文本令牌 =>包装文本包装
简单地说,它的替换功能仅包括在内,令牌需要成为一个标识符:
令牌 =>替换
令牌 '(‘参数(S) ')’=>替换为0到所有_argument(s)
见标准第6.10.3章。
您可能需要对其他宏处理器进行一些研究,例如从各自维基百科页面开始。请注意,在StackOverflow上,推荐是非主题的.
发布于 2022-11-14 08:14:54
#define strlen(str) str.len
int foo(char *str)
{
size_t x = strlen(str);
}https://stackoverflow.com/questions/74422210
复制相似问题