Win2kやXPとかCEでは、基本的にワイド文字を扱っていますのでインターフェースなどで入力された 文字列を使う時にマルチバイト文字へ変換しないといけないと思います。 で、変換関数についてです。 ワイド→マルチの変換では ・wcstombs ・WideCharToMultiByte マルチ→ワイドの変換では ・mbstowcs ・MultiByteToWideChar があります。 それぞれ上はCのランタイムで下はWin32 APIです。 結論から申しまして、少なくともマイクロソフトの提供するランタイムは役に立ちません。 必ずAPIを使用しましょう。 環境は「Visual C++ 2005 ExpressEdition + PlatformSDK」です。 使用方法のサンプルがてらソースとその実行結果です。 char string_m[256]; wchar_t string_w[256];
![Windowsにおけるマルチバイト文字とワイド文字の変換](https://cdn-ak-scissors.b.st-hatena.com/image/square/bbcc1a80059810ded30f8cef9d0daf7a924064c2/height=288;version=1;width=512/https%3A%2F%2Frelog.xii.jp%2Fmt6%2Fmt-static%2Fsupport%2Ftheme_static%2Frainier%2Fimg%2Fsiteicon-sample.png)