通知
すべてクリア
2007年8月23日 1:57 PM
いつもお世話になっています。
環境は以下の通りです。
OS:WindowsXP
開発:VisualStudio2005 SP1
言語:C++
●やりたいこと
サロゲートペアを含んだ文字列の長さを知りたい
文字列はLPWSTR型で渡されます。
.NetFrameWorkでしたら、判別する関数(GetTextElementEnumerator)が
あるのですが
http://msdn2.microsoft.com/ja-
jp/library/system.globalization.textelementenumerator(VS.80).aspx
あいにく、アンマネージドの環境なのです。
どうやって、判別して文字列の長さをカウントすれば良いでしょうか?
1文字(2バイト)づつ取り出して、サロゲートペアの上位、下位の範囲に
入っているかどうかで4バイトで1文字と判別しないといけないでしょうか?
よろしくお願いいたします。