Good question @flashyourface! This is a basic thing in C/C++, but I totally get how it’s confusing from a web language! 
Two things need to change.
Reserve memory for the string
Strings take up a variable amount of space. Each letter adds more memory that you need to reserve. The word used by C programmers for this is that you have to “allocate” memory for the string.
At the top, change char *msg; which only allocates enough space for the pointer to the string to char msg[100]; to reserve space for up to 99 characters. C strings always end with a null byte.
Use strcpy instead of equals
To make a copy of a string variable in C, you should use the strcpy function. Also String objects have a c_str() method to pull out the char*, so you should do this:
strcpy(msg, message.c_str());
Your integer code should work fine!
What error are you getting?