c++ - 如何在 C++ 宏中定义模式?

标签 c++ visual-c++ mfc

我的文件有太多像

这样的部分
 [Section]

 [Section.Ia32]

 [Section.x64].... so more

所以,我需要定义单个宏,以便在解析文件时我们可以使用一个宏来获取该部分。目前我正在尝试,

#define APattern = "(^(\\s)*\\[Section(\\.\\w+)*\\])"; 

它编译成功......但它不工作。

例如

  CString a = Section;
  a.compareNoCase(APattern);

它不工作..

谢谢

最佳答案

我认为你定义的语法不正确。在 C++ 中 定义 没有

    "=", 

比较喜欢

    #define SQR(a) (a * a). 

因此在您的定义中也缺少一个参数。不要使用

     ";" 

在行尾。 其次,您将结果作为参数传递给函数

    a.compareNoCase(), 

您的定义返回的类型的含义可能不正确。

关于c++ - 如何在 C++ 宏中定义模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17141873/

相关文章:

c++ - MFC扩展dll资源加载问题

c++ - 如何将虚拟键码转换为字符码?

c++按类型大小而不是类型声明变量

visual-studio - "Build Solution"不再在 Visual C++ 中工作

c++ - boost::function 与函数指针的奇怪行为

c++ - 在 Visual C++ 中开发静态库以进行高效的数值计算

C++ 函数指针语法

.net - 从 ActiveX 控件使用 CWinFormControl

c++ - 有没有办法将大小传递给节点(C++自定义数据容器)中的数组

c++ - C++11 中的线程 : A better way to approach lock guards?