On platforms different than Windows you could easily use char * strings and treat them as UTF-8.
char *
The problem is that on Windows you are required to acce
You can keep all your strings UTF-8 encoded and just convert them to UTF-16 before interacting with WIn32 API. Take a look at UTF8-CPP library for some easy to use conversion functions