dポイントプレゼントキャンペーン実施中!

なんか一日一問になってしまったのですが、、
よろしくお願いします。

wchar_t 型に入っている文字のバイト数を数えるにはどうしたら良いでしょうか?

L"あいう123"

のような文字の場合UNICODEの場合12バイトですが、
全角半角区別して9バイトを求めたいです。
UNICODE環境では不可能でしょうか?

A 回答 (1件)

一度sjisやeucに変換する必要があります。



windowsの場合ですが
http://www.doumo.jp/postgretips/tips.jsp?tips=67

wchar_t wbuf[1024];
char buf[1024];
int buflen;
lstrcpyW(wbuf,L"あいう123");
buflen = WideCharToMultiByte(CP_ACP,0,wbuf,-1,buf,0,NULL,NULL);
WideCharToMultiByte(CP_ACP,0,(LPCWSTR)wbuf,-1,buf,buflen,NULL,NULL);

int answer = strlen(buf);
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お~こんな方法はあったとは!
ありがとうございました。

ヒロシです。
ヒロシです。。
ヒロシです。。。

お礼日時:2005/09/09 21:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!