掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
全角文字の先行バイトかを確認する方法は? (ID:54167)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
再びお世話になります。 VC6でMFCダイアログベースの製作を行っています。 CString型の文字列(buf)の左側から、指定された文字数を取り出す際に、 その文字数で取り出すと全角文字をまたいでしまう場合はその全角文字の 手前で取り出したいのです。そこで、 CString buf="!プログラミング!"; //これから6文字を取り出す。「!」は半角です。 if( _ismbblead(buf[6]) != 0 ) MessageBox(buf.Left(5)); else MessageBox(buf.Left(6)); のような記述をしているのですが、全角文字など関係なしに表示されて しまいます。上記の記述の場合ならば「グ」は表示されないはずなのに、 「ロ」の後に変なものがついてきてしまいます。これをChar型などにし てもなおりません。 _ismbbleadは全角文字の先行バイトかどうかを確認するものだと思い使 っていましたが、そもそもこれが間違っているのでしょうか? こんなことで申し訳ありませんが、ご教授お願いいたします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.