我如何替换字符串数组变量乘变量? [关闭]

问题描述 投票:0回答:1

我有以下代码

foo()
{
    char name[80];
}

我需要用以下内容替换

foo()
{
    char _name_[81] = {80}, *name = &_name_[1];
}

我想在不更改文件的情况下进行操作,可以通过预处理器进行这种替换吗?像宏一样?还是应该为此更改文件?

c++ c clang preprocessor
1个回答
0
投票
#define MAKESTR(name, len) char _##name[(len)+1] ={(len)}; char *name = &_##name[1];

MAKESTR(X, 30);

https://godbolt.org/z/UHQLzn

© www.soinside.com 2019 - 2024. All rights reserved.