Это вопрос с подвохом о преобразовании набора символов?:) Поскольку стандарт не гарантирует, что символ ASCII будет представлен его целочисленным значением ASCII в wchar_t (хотя для большинства компиляторов / систем это будет так).Если это имеет значение, явно расширяйте свой символ, используя соответствующий языковой стандарт:
std::wstring s;
std::locale loc("C"); // pick a locale with ASCII encoding
s.push_back(std::use_facet<std::ctype<wchar_t> >(loc).widen(30));
s.push_back(std::use_facet<std::ctype<wchar_t> >(loc).widen(29));
s.push_back(std::use_facet<std::ctype<wchar_t> >(loc).widen(28));
Не заканчивайте завершающим 0, он добавляется, когда вы преобразуете wstring в wchar_t * путем вызова .c_str ()