日本語のソート – プログラミング – Home

通知
すべてクリア

日本語のソート


けん
 けん
(@けん)
ゲスト
結合: 25年前
投稿: 40
Topic starter  

リストボックスなどで、ヘッダーをクリックしたときに
ソートを行いたいのですが、漢字などの日本語を日本語のあいおうえお順に
ソートする方法がわかりません。
できるだけ簡単な方法を知りたいです。


引用解決済
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

漢字の読みはどのようにして取得する予定ですか?


返信引用
ター坊
 ター坊
(@ター坊)
ゲスト
結合: 21年前
投稿: 9
 

単純にstrcmp()やCString::Compare()の戻り値を
使うのはダメなんですか?
結果的に音読みのソートになってしまいますけど。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 22年前
投稿: 600
 

東京はとうきょう、北京はぺきんと読むことを何らかの方法で
教えておかないとどーしよーもないです。'読み'の並びを換えたいのですから。


返信引用
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

読みでソートする場合の一番単純な方法は、よみがなと漢字をペアにした構造体なり
クラスなりを用意しておいてよみがなをキーにソートしておく方法だと思います。
επιστημηさんも言われているように、その漢字がどう読まれるのかはをきちんと
定義できないとソートは無理です。
逆に言うとデータ設計の段階でよみがなによるソートが必要であれば、よみがなをデータの
一部として入れておく事が必要になるという事です。


返信引用
うちだ
 うちだ
(@うちだ)
ゲスト
結合: 20年前
投稿: 14
 

リストボックスのヘッダー???
リストビューのカラムのことかなぁ

さて、「できるだけ簡単な」なら、ター坊さんのおっしゃってるCString::Compare()の戻
り値の比較に一票です
Windowsのエクスプローラーのソートもこれでやってるんじゃないの???
と、いうことでWindowsのアプリなら許されませんかねぇ~
「読み」をデータとするには、それを入力する手間がありますからねぇ~
人名のDBなどで、読みをあわせて入力されるようなものでない限りはねぇ~
ソートしたいがために、読みの入力をさせるのはどうかと思います


返信引用
PATIO
(@patio)
Famed Member
結合: 4年前
投稿: 2660
 

結局は、何処までの結果を求めるかだと思うのですけれど。
うちださんやター坊さんが言われている内容で十分なのであれば、
よみがなの入力までは必要ないでしょうし、
ちゃんと漢字の読みでソートしたいのであれば、入力してもらうしかないと思います。
IMEの逆変換という手もあるでしょうけれど、これだとうまく行かないケースがあると思
うので
結局は何処までの結果を求めているのかという話に戻ってしまうと言うか。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました