Getting environment variables?
novice2
sorry at noem.ail
Sun Nov 23 23:22:43 PST 2008
> Under what setups can the drive letter be a non-ASCII character?
any non-english windows have folders, usernames, etc with non-ascii chars, therefore this names presents in environment, registry, file API etc.
> wchar[] wpath;
> wpath.length = GetEnvironmentVariableW("HOMEPATH", null, 0);
> GetEnvironmentVariableW("HOMEPATH", wpath.ptr, wpath.length);
i am afraid that windows API named *W works with UCS2 string.
but D wchar[] is UTF-16. since UCS2 is some sort of subset of UTF-16, then your code above is correct (then lvalue is D wchar[]).
but problems can appear in reverse situation - pass D wchar[] to windows API.
that is why utf strings in D annoy me - because all strings exchange D<->WindowsAPI shoud be passed thru to-utf and from-utf convertion. other programming languages works fine with windows, not required utf-support editors etc.
sorry for offtopic.
More information about the Digitalmars-d-learn
mailing list