VC++ 2005から追加された、関数名の末尾に _l がつくライブラリ関数。
引数としてロケールを指定できます。
ロケールです。コードページじゃありません。
setlocale とか _create_locale の引数に渡すロケール文字列は、".codepage" 形式でもいいことになっています。
実際、".932" とか ".1252" はちゃんと解釈されます。もっとも、デフォルトだと "Japanese_Japan.1252" とかいうわけわかんないロケールになりますけど。
んで、_wcstombs_s_l を使って、ワイド文字列を UTF-8 に変換してみようとしたわけです。
WideChatToMultiByte では、第一引数に CP_UTF8(65001) を指定すればできるんだから、、_wcstombs_s_l でもできるだろうと。
果たして、_create_locale( LC_ALL, ".65001" ); の結果は…失敗。ロケールを設定できません。
ふむー…