掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
多次元配列のソートについて (ID:58046)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
以下のように構造体、配列が宣言されています。 struct SYM_INFO { char *name ; long adr ; char typ ; } ; SYM_INFO sym_Tbl[3] ; この配列 sym_Tbl に格納された値を指定された次元の要素 によってソートをかけたいと考えています。例えば name {CFI_KP, B_EXTR, DA12_GS, ACR_OUT } adr {00000CAC, 00014346, 00000B98, 000143F4} typ {W, W, B, D } という順に格納されている場合、name に対してソートをかけると name {ACR_OUT, B_EXTR, CFI_KP, DA12_GS } adr {000143F4, 00014346, 00000CAC, 00000B98} typ {D, W, W, B } という具合に、組み合わせは変わらずに変更をかけたいのです。 もとは VC++Ver1.5 でコンパイルされたプログラムでその時の処理は int sym_number ; /*プロトタイプ*/ static int compare_adr(const struct SYM_INFO *, const struct SYM_INFO *); int main(int argc, char *argv[]) { <中略> qsort(sym_tbl, sym_number, sizeof(struct SYM_INFO), compare_mdf); <中略> } static int compare_mdf(const struct SYM_INFO *k, const struct SYM_INFO *y) { return(strcmp(k -> name, y -> name)); } となっています。 現開発環境は VC++.NET であり、この環境では qsort の第四引数に関して コンパイルエラーが発生してしまいます。関数 compare_mdf の引数の型の 問題なのは分かっているのですが、どうもうまくいきません。できれば構造体 や配列の型をかえずに処理をしたいのですが、どなたかご教授願えませんで しょうか。よろしくお願い致します。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.