- ベストアンサー
全ての漢字を取得する方法
全てまではいかなくとも、なるだけ多くの漢字を取得して 配列などに格納したいのですが、取得する方法を教えてもらいたいです。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
>なるだけ多くの漢字を取得して配列などに格納したいのですが、取得する方法を教えてもらいたいです。 はずしている可能性大ですが、↓こんなイメージでしょうか。 #include <stdio.h> void main() { int iA, iB, nn = 0; char cStr[ 1024 ]; iA = 0x88; for( iB = 0x9F; iB < 0xFC; iB++ ){ cStr[ nn++ ] = iA; cStr[ nn++ ] = iB; cStr[ nn ] = '\0'; // for 構文の直下でも・・ } printf( "%s\n", cStr ); }
その他の回答 (5)
- Tacosan
- ベストアンサー率23% (3656/15482)
「中国や韓国独自の漢字」は漢字だから問題ないとも言えますね>#5. 異体字とかはどうするんだろう....
- titokani
- ベストアンサー率19% (341/1726)
#4ですが、Unicodeだけだと、中国や韓国独自の漢字も混じってしまうので、 JIS X 0213:2004で定義されている文字のうち、漢字のみをUnicodeに変換するのがいいかも。 http://ja.wikipedia.org/wiki/JIS_X_0213 http://x0213.org/codetable/ まあ、ここまで本気でやる必要があるかどうかは用途によるでしょうが。
お礼
ご回答ありがとうございます。 シフトJISだけでも十分なので、とりあえずそれから抽出していきたいと思います。
- titokani
- ベストアンサー率19% (341/1726)
>なるだけ多くの漢字 という条件なら、シフトJISではなくてUnicodeでやったほうがいいかも。
- yama5140
- ベストアンサー率54% (136/250)
#2 です(はずしていなかったようで、ホッとしてます)。 お示しのURLの「漢字コード表(シフトJIS)」をみると、「・」となる場所に法則性があるようです。 この法則性をプログラムすればよろしいかと。 法則に当てはまらない部分は、ダイレクトに除外(▼)すればよろしいかと。 下のソースは、「法則性」によって除外されたものが間違いなく「・」であるかを確認するものです。 逆の作り方をすれば、「お求めのもの」となると思います。 例) for( iB = 0x40; iB <= 0xFC; iB++ ){ if( 0x7F == iB ) continue; ▼その1 if( ( 0x98 == iA ) && ( 0x73 <= iB ) && ( iB <= 0x9E ) ) continue; ・ ・ 老婆心:手始めに、「配列」を用いず、先の「表」の体裁で「画面出力」することをお勧めします。 #include <stdio.h> void main() { int iA, iB; for( iA = 0x89; iA < 0xA0; iA++ ){ printf( "%2X:7F %c%c", iA, iA, 0x7F ); for( iB = 0xFD; iB <= 0xFF; iB++ ) printf( ":%2X %c%c", iB, iA, iB ); printf( "\n" ); } for( iA = 0xE0; iA < 0xFC; iA++ ){ printf( "%2X:7F %c%c", iA, iA, 0x7F ); for( iB = 0xFD; iB <= 0xFF; iB++ ) printf( ":%2X %c%c", iB, iA, iB ); printf( "\n" ); } }
お礼
ご回答ありがとうございます。 参考になりました。
- cybertrick
- ベストアンサー率64% (9/14)
JISの漢字コード表を参考にして、それを配列に格納すればいいと思います。
お礼
ご回答ありがとうございます。 このページが見つかり、参考にしていきたいと思います。 http://www.tohoho-web.com/ex/draft/code.htm
お礼
ご回答ありがとうございます。 そのやり方でできました。ありがとうございます。 そこでもう一つ質問があるのですが、 iB < 0xFC を iB < 0xFE などと増やして試してみたら 「蔭・」が後ろに付け加わったのですが、 「・」をプログラム的に識別する方法を教えてもらえないでしょうか? 例えば、ここにある http://www.tohoho-web.com/ex/draft/code.htm 全ての文字をプログラムで取得する際に「・」が配列に加わるのを除去したいのです。