@paracharlie memset doesn't give a f*** if the pointer points to the heap or to the stack. MrGuest called it character, although the term byte seems a bit better to me. memset is not limited to writing characters, as the the term "char" might suggest. Technically speaking '\0', NULL, and 0 are the same, i.e. a lot of bits where no bit corresponds to '1'. '\0' can be 8 or 16 bits, NULL is 32 bits as well as 0 as it is by default interpreted as an integer constant.
Caermundh: I already thought that wouldn't work. It would require some magic to work. However: The handle thing is not a more of work for you. You cannot have local strings anyways. A string is always an engine object, so there is no need to make it global in some way.