class a2w { wchar_t* buffer;public: explicit a2w(const char* str):buffer(0) { if(str) { size_t nu = strlen(str); size_t n = ::MultiByteToWideChar(CP_ACP,0,(const char *)str,int(nu),NULL,0); buffer = new wchar_t[n+1]; ::MultiByteToWideChar(CP_ACP,0,(const char *)str,int(nu),buffer,int(n)); } } ~a2w() { delete[] buffer; }
operator const wchar_t*() { return buffer; }
};