辞書順で名前に従って文字列をソートしようとしています。
だから私は構造の配列を持っています
typedef struct buff{
char *name;
} structure;
関連する拡張子を持つファイルの名前をコピーしています。その構造の内容がそのようs[0].name = "picture1.jpg"
s[1].name = "DCP003.JPG"
に見えるようにします。
私はそれを整理しようとしていますが、それを達成することはできません..私がこれまでに持っているのはこれです。
void sort(structure *s, int counter){
for (int i = 0; i < counter - 1; i++){
for (int j = 0; j < counter - 1 - i; j++){
if (strcmp(s[j].name, s[j+1].name) > 0){
structure tmp;
tmp = s[j];
s[j] = s[j+1];
s[j+1] = tmp;
}
}
}
for (int i = 0; i < counter; i++){
printf("%d - %s\n", i+1, s[i].name);
}
}
そして、それは私が望むように動作しません..いくつかのバージョンを試してみましたが、まだうまくいきません..どこで間違いを犯していますか? どんなアドバイスも大歓迎です..