c++ - Visual Studio 正则表达式替换

标签 c++

如果之前有人问过这个问题,但在这里找不到合适的答案,我很抱歉。 我需要一些有关 Visual Studio 正则表达式的帮助来修改源代码。 我有从文件加载纹理的源代码。我有很多这样的台词。

D3DXCreateTextureFromFileA(pDevice , chFileName , &pTexture) ;
D3DXCreateTextureFromFileA(pDevice , pAttrib->Value() , &pd3dTexture) ;

我需要定义一个常量并基于它从自定义格式加载纹理。 我要这个

   D3DXCreateTextureFromFileA(pDevice , chFileName , &pTexture) ;

变成这样

 #ifdef LOAD_TEXTURES_FROM_CF

    CreateTextureFromResourceFile((pDevice , chFileName , &pTexture) ;

 #else

    D3DXCreateTextureFromFileA(pDevice , chFileName , &pTexture) ;

 #endif 

如何使用 Visual Studio 正则表达式实现此目的? 提前谢谢你。

最佳答案

不需要正则表达式替换(我什至建议不要这样做)。无需复制新代码,只需创建另一个宏即可:

#ifdef LOAD_TEXTURES_FROM_CF
#define CreateTextureFromFile(a, b, c) CreateTextureFromResourceFile((a), (b), (c))
#else
#define CreateTextureFromFile(a, b, c) D3DXCreateTextureFromFileA((a), (b), (c))
#endif

然后只需将所有以前出现的 D3DXCreateTextureFromFileA 替换为 CreateTextureFromFile 就可以了。

关于c++ - Visual Studio 正则表达式替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11824964/

相关文章:

C++ 模板特化冗余减少

c++ - 不理解-c -o的Unix C++编译器

c++ - 运行命名测试时使用 "disabled" boost 测试输出垃圾邮件

c++ - WinAPI 设备通知 - 未进入消息循环

c++ - 为什么这个 C++ 代码会输出结果?

c++ - 使用 for_each 和 bind 反转 vector 中的字符串

c++ - 将 STL 容器<T *> 转换为容器<T const *>

c++ - 错误 : name lookup of ‘i’ changed for ISO ‘for’ scoping [-fpermissive]

c++ - 如何正确地将指针传递给第三方代码的成员函数?

c++ - 成员函数返回指向成员函数的指针