C言語のソートについて
C言語で下記のファイルの中身を昇順と降順で出力しようとしているのですが、ソートが上手くいっていない状況です。
どなたか修正点を教えて頂けないでしょうか?
「ファイルの中身」
2022/11/14 16:19:56 4+4,8.000000
2022/11/14 16:20:14 7+7,14.000000
2022/11/14 16:20:18 8+8,16.000000
2022/11/15 16:19:56 4+4,8.000000
2022/11/14 16:20:14 7+7,14.000000
2022/11/18 16:20:18 8+8,16.000000
2022/11/17 16:19:56 4+4,8.000000
2022/11/14 16:20:14 7+7,14.000000
2022/11/14 16:20:18 8+8,16.000000
「ソースコード」
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int cmp_u(const void* a, const void* d) {
return *(char*)a - *(char*)d;
}
int cmp_d(const void* a, const void* d) {
return *(char*)d - *(char*)a;
}
int main() {
int r,i,n;
FILE* fp;
char sin[9][1000];
fp = fopen("log.txt", "r");
if (fp == NULL) {
printf("ファイルオープン失敗\n");
return -1;
}
for (i = 0; i < 9; i++) {
fscanf(fp, "%s", &(sin[i]));
}
fclose(fp);
printf("ASC or DESC: ");
scanf(" %s", &ad);
if (strcmp(ad, "ASC") == 0) {
qsort(sin, 9, sizeof(char), cmp_u);
}
else {
qsort(sin, 9, sizeof(char), cmp_d);
}
for (i = 0; i < 9; i++) {
printf("%s\n", sin[i]);
}
return 0;
}