GPUPPURUTのワイド文字列対応

GPUPPURUTをマルチバイト文字列とワイド文字列の両方に対応させるため、それぞれの文字列に対応したメンバ関数を用意することにしました。(まるでwin32apiのようにfuncAとfuncWを作ってるような感じだ)

ですが、glutの関数はマルチバイト文字列にしか対応してないので(openglut使ってるので、変更しようと思えばできますが)ワイド文字列をマルチバイト文字列へ変換する必要があります。そこで、C++標準関数のcwcharのwcsrtombsを使ってるのですが、常にstatic_cast(-1)を返しているようです。

visual c++ではいくつかの標準関数はセキュリティ上まずいらしいので非推奨になってて、wcsrtombsもその一つなんですが
もしかしてvc++ではwcsrtombsは常にエラーとなるように作られてるのだろうか。それとも私の書いたコードにバグがあるのだろうか。