• 締切済み

全角→半角変換 C UNIX

言語:C++ OS:UNIX お世話になります。 ご存知でしたらお力をお貸しください。 今、 入力力された全角のアルファベット・数字・ひらがな・カタカナを 半角アルファベット・数字・ひらがな・カタカナに変換し さらに、規定の記号以外は削除するプログラムを作らなくてはいけない状況です。 Cも経験が浅い為、いろいろググってみたのですが 見つかってもLCMapStringくらいで、これではC++とUNIX環境では動かなくて 非常に困っています ご存知の方、どなたか教えていただけないでしょうか。

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「1文字 (≠ 1バイト)」ずつチェックするだけなので, 本質的に難しいところはありません. ちょっとややこしいことを除けば「アルファベットの大文字を小文字に変換する」のと同レベルです. while (文字が残っている) { その文字が「全角アルファベット」→対応する「半角アルファベット」に変換 「全角数字」→対応する「半角数字」に変換 .... その他: 破棄 } というフローになるでしょうか. ただ, 例えば文字コードとして何を想定しているかによって変換がかわる可能性があります. ところで「半角ひらがな」って何?

kiy0kiy0
質問者

補足

Tacosan、ありがとうございます。 アルファベットは解決したのですが 問題は全角かな、カナを半角カナに変換する所がわからないのです。 ご指摘の 【半角ひらがな】は【半角カタカナ】の間違いです 実現したいことは 【半角ひらがな・カタカナ】を【半角カナ】に変換することです 意図が伝わりづらく、申し訳ありません。 どなたかご存知でしたら教えてください。 よろしくお願いいたします。

関連するQ&A

専門家に質問してみよう