Dibash Thapa

TIL: Stringifying the enum in C / C++

There is a nice trick to convert enum into strings.

If you have your enums defined like this

enum Week {
  Sunday, 
  Monday
};

you can define a macro to convert into string.

#def stringify(enum) #enum

If you want to convert Sunday into string. Then

printf("The day is %s\n", stringify(Sunday));

Note: This will only work on name you are passing. It may not work on variables.

int day = Sunday; 

printf("The day is %s\n", stringify(day)); 

This will print day

#C #TIL