• ベストアンサー

C言語において2バイト文字を検出するには?

こんにちは。 C言語において、char型ポインタが指している文字が、2バイト文字の1バイト目かどうかを確認する事ができれば、文字列から2バイト文字を検出できると思うのですが、やり方が分かりません。 検索してみても、ややこしい事ばかり書かれていて、すっきりとした答えが見つかりませんでした。 何かいい方法を知っておられる方がいらっしゃれば、是非アドバイスを頂きたいと思います。 では、よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.2

文字コードが何か書かれていないのでShift_JISと仮定しますが その「ややこしい事」を理解してください。 Shift_JISは無理矢理なコード体系なのでマルチバイト文字の 1バイト目や2バイト目を簡単に確認する手段はありません。 char型ポインタが指しているもので判定できるのは 「1バイト目かもしれない」「2バイト目かもしれない」くらいです。

MetalLover
質問者

お礼

御回答ありがとうございます。 wormholeさんは、 http://okwave.jp/qa/q6996802.html の質問にも答えて下さっていますね。 そちらの方が、今回の質問よりもより具体的なので、 そちらで引き続きよろしくお願い致します。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.3

補足ですがVisualC++であれば_mbsbtype()で調べることはできます。

すると、全ての回答が全文表示されます。
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「2バイト文字」って何?

MetalLover
質問者

お礼

全角文字(2バイトで表される文字)の事です。

MetalLover
質問者

補足

記述するのを忘れていましたが、文字コードはShift_JISです。

すると、全ての回答が全文表示されます。

関連するQ&A