The following code snippet(Though in Java) converts from CamelCase to snake\_case. 
What should I do to do this in the C/C++ macro (i.e in the **#define** line)?

```
    String regex = "([a-z])([A-Z]+)";
    String replacement = "$1_$2";
    System.out.println("CamelCaseToSomethingElse".replaceAll(regex, replacement).toLowerCase());

```