• ベストアンサー

漢字のソートについて

noname#5537の回答

noname#5537
noname#5537
回答No.6

以前の投稿から,Windows + VC++ での話として書きます。 マルチバイト文字列対応を謳った文字列比較関数として _mbscmp というのがあります。 試しに _mbscmp を使って,  "東京", "大阪", "神奈川", "愛知" ,"埼玉" をシフトJISコードで昇順にソートしてみると,  "愛知", "埼玉", "神奈川", "大阪", "東京" となります。 一見ソートされていないように見えますが,一文字目の読みが,  "アイ","サイ","シン","ダイ","トウ" と考えれば妥当でしょう。 上記のようになるのは, JIS 第一水準漢字に限っていえば読みの順にコードが振ってあるからです。 # 複数ある読みの中からどういう基準でその読みを選んだかは知りません。 # また,第二水準になると読みの順には並んでません。 これで使い物になるかどうかは mk1234 さん次第です。 やはり私も「住所録なら,ユーザに「読み」を入力させたらいいと思います」が。 #4 で少し書いたのですが, ユーザーが「鈴木」という姓を入力する際に,  すずき[変換] と入力したとします。 このとき,「すずき」という読みを取得することは可能です。 Outlook Express 6 のアドレス帳の「姓」「名」を入力する欄がこの方式です。 IME 関連の API を使います。 http://www.geocities.co.jp/SiliconValley-Oakland/1865/visualc/NoryImm.html ただ,読みの難しい漢字を別の読みで入力する可能性もあるので, 読みだけを編集できるようにしておく必要があるでしょう。

mk1234
質問者

お礼

回答ありがとうございます。 strcmpだとどうしてまったく並び変わらないのでしょう?

関連するQ&A

  • Excelでのソートの方法

    Excelでソートをしたいのですが、並べ替えの方法が分りません。氏名をあいうえお順に並べ替える方法を教えて下さい。住所や電話番号が空欄になっている場所があると並べ替えられないのでしょうか?

  • ソートについて

    array listをソートしたいのですが、複数のarray listをひとつのarray listを基準として、並び変えることは可能ですか? たとえば、1つが生徒の名前のarray listで、もう1つが成績のarray listだとしたら、名前のarray lisをあいうえお順にソートし、成績を成績順ではなく、名前に対応するように並びかえたいのです。 なにか方法があったらよろしくお願いします。

    • ベストアンサー
    • Java
  • 漢字が読めない!

    友達に年賀状(遅)を出そうとしたら、どうしても苗字が読めません。 その苗字は、上が「代」。下が「黒」っていう漢字なんですが、分かる方教えてください。 漢字弱いもんですいません。

  • 戸籍の漢字について

    国家試験を受ける際、戸籍を確認したところ、市役所では使われていない漢字が苗字に入っていることに気づきました。現住所は岩手で、本籍が秋田にあったので、本籍を移すのと同時に常用漢字に変更しました。秋田にいる祖母、東京にいる叔父の戸籍は変更する前の旧漢字のままなのですが、血縁間で戸籍の漢字が違うということがあってもいいのでしょうか?教えて下さい。

  • エクセル2000の並び替え(漢字とひらがなをいっしょにして並び替えたい)

    ネットでコピーしたものをエクセルに貼付け あいうえお順に並び替えたいのですが、 漢字とひらがな、があり、並び替えると、ひらがな、ばかりが先に来て、 漢字が後になるのですが、ひらがなと漢字を区別せずび並び替えたいのですが、 方法はあるのでしょうか? よろしくお願いします。

  • 手紙の書き方:あて名の漢字に自信がないとき

    フルネームの読みは知っていますが漢字がわからない(自信がない)方へお手紙を出す必要に迫られています。 苗字の漢字は知っているのですが名前のほうがわかりません。 互いに付き合いがないので、調べる手段はありません。 電話帳にも載っていませんでした。 この場合、苗字は漢字で名前はひらがなにして宛て名を書いてもよいのでしょうか。 ご助言、よろしくお願いします。

  • エクセル:  ソート後処理でデータ選出

    エクセルSheet1の表、項目1に県名、項目2に市名が載っている表があります。(ランダムにデータ間の重複あり)、表中に実際にある項目1、と項目2の組合せで、県名を第1キーであいうえお順に ソートし、市名を第2キーで同様ソートしたものを重複無くした表をsheet2に作りたいのですが、 重複無くした表をsheet2にするという操作はどうすればいいのでしょうか。よろしくお願いします。

  • 年賀状ソフトの住所録作りで、難しい漢字を使用するには?

    年賀状ソフトで、住所録を作る上で困っています。 普通に入力しても変換候補として出てこない漢字が使われている苗字を入力するにはどうしたらよいのでしょうか? 入力したい漢字は、虫へんに「蝦夷」の「夷」が付いた漢字です。 ウィンドウズの文字コード表で見るとMingLiU というフォントの中の虫へんの漢字グループの「虫」という字から数えて7行目の左から3つ目の漢字です。その漢字をクリックするとU+86E6という文字列も出てきます。これが多分文字コードなのでは?と思っているのです。 文字コード表からこの文字をコピーして、年賀状ソフトの住所録にコピーすると。?マークに置き換わってしまいます。 ワードやエクセルなどには一応貼り付けられるのですが、ワードで「宛名印刷ウィザード」を使って宛名を作ろうと思うと、やはり?マークに置き換わってしまいます。 この漢字を年賀葉書に印刷する方法をお教えください。 よろしくお願いします。

  • エクセルの並べ替え

    エクセルの「データ→並べ替え」の質問です。 住所録(900行超)を並べ替えると、どういう訳か2つのグループに分かれて、それぞれでソートされます。どうしてかなぁ?文字列でも数字列でもダメでした。全体をひとつのデータとして「あいうえお順」もしくは「郵便番号順」にソートしたいのですが、改善策を教えてください。よろしくお願いします。

  • Perlのソートについて

    ハッシュを利用して今ソートできるプログラムを作成したのですが、 重複するデータは除外されてしまうようで、どうしたら除外されずに ソートできるかを教えていただきたいです。 <例> 文字 よみ  No      橋  はし  1      橋  はし  3      箸  はし  2 というデータがあったとして、今のプログラムを実行すると・・・ <結果> 箸  はし  2 キーがよみなので3番目のデータだけ残ります。キーを漢字に したとしても1番目のデータは残らないのですが、どうしてらよいのでしょうか。 <理想的な結果>      橋  はし  1      箸  はし  2      橋  はし  3 一番いいのが上のような結果で、Excelのソートのような感じで、第1キーはよみで第2キーはNoとかのソートはPerlでできないでしょうかね?? どなたか分かる方がいたら教えていただきたいです。 よろしくお願いします。

    • ベストアンサー
    • Perl