Выскакивает ошибка при повторной сортировке
Вывести список на экран, упорядочив по номеру устройства, а внутри каждого номера устройства по времени получения.
номер устройства отправителя (целое положительное четырехзначное число); текст сообщения (строка 50 символов); время получения (в формате ЧЧ:ММ:СС).
При компиляции выскакивает ошибка: incompatible type for argument 2( или 1 ) of ‘strncmp’
Вот код:
#include <stdio.h>
#include <string.h>
int main()
{
//Создание структуры MESSAGE
typedef struct{
char text[50];
char number[4];
double date;
unsigned count;
}MESSAGE;
//Ввод кол-ва сообщений и направления сортировки
int N = 0, sort = 0;
printf("Insert count of your messages: ");
scanf("%d", &N);
printf("Choose sort messages name (1 - up, 0 - down): ");
scanf("%d", &sort);
//Ввод сообщений
MESSAGE message[N];
for(int i = 0; i < N; i++){
printf("%d message text: ", i+1);
scanf("%s", &message[i].text);
printf("%d message system number: ", i+1);
scanf("%s", &message[i].number);
printf("%d message date: ", i+1);
scanf("%lf", &message[i].date);
printf("%d messages count: ", i+1);
scanf("%d", &message[i].count);
}
//Сортировка сообщений по устройству
MESSAGE temp;
for(int i = 0; i < N - 1; i++){
for(int j = i + 1; j < N; j++){
if(strcmp(message[i].number, message[j].number) == 0){
temp = message[i+1];
message[i+1] = message[j];
message[j] = temp;
}
}
}
//Сортировка сообщений по времени
for(int i = 0; i < N - 1; i++){
for(int j = i + 1; j < N; j++){
if(sort == 0){
if (strncmp(message[i].date, message[j].date, 1) > 0 && strcmp(message[i].number,
message[j].number) == 0){
temp = message[i];
message[i] = message[j];
message[j] = temp;
}
}
else if(sort == 1){
if (strncmp(message[i].date, message[j].date, 1) < 0 && strcmp(message[i].number,
message[j].number) == 0){
temp = message[i];
message[i] = message[j];
message[j] = temp;
}
}
}
}
//Вывод сообщений
printf("\v\tMESSAGE LIST:\n\n");
for(int i = 0; i < N; i++){
printf("\nMESSAGE %d\n", i + 1);
printf("%d message text: ", i+1);
printf("%s\n", message[i].text);
printf("%d message system number: ", i+1);
printf("%s\n", message[i].number);
printf("%d message date: ", i+1);
printf("%lf\n", message[i].date);
printf("%d messages count: ", i+1);
printf("%d\n", message[i].count);
}
return 0;
}