C++の文字列操作系の関数の中に_mbctombbという関数があるのですが、
この関数では、2Byteのマルチバイト文字を対応する1Byteの文字に変換します。
関数の引数、戻り値は以下のとおり。
(MSDNから抜粋)
2 バイトのマルチバイト文字を対応する 1 バイトのマルチバイト文字に変換します。
unsigned int _mbctombb(
unsigned int c
);
ということなのですが、この関数、引数に2Byteのマルチバイト文字を取るわりに、
何故か型がunsigned intになってるんですね・・・。
char配列からunsigned intを直接取得する方法ってあったっけ、、、と思いつつ、
現状で思いつく限りで、以下のような使用にいたる。
しかし、今よくよく考えてみると、sprintf使えば、できたような気もしなくない。
/*!
* _mbctombb関数の使用方法
*/
using namespace std;
int main()
{
/*
1Byte文字に変換をしたい、2Byte文字を代入する。
後々のビット演算のためにunsigned charしておく。
*/
const unsigned char s[10] = "”";
}