У меня есть некоторые структуры, записанные в двоичный файл. Допустим, эти структуры содержат только char name[20]
в качестве члена.
Я могу получить доступ к каждой строке двоичного файла через fseek () и прочитать ее через fread () , но теперь мне нужна функция, которая сортирует по алфавиту эти имена одиночные структуры.
Я думаю, что главная проблема - поместить все эти одиночные строки в массив char, но как я могу это сделать?
#include <stdio.h>
#include <stdlib.h>
typedef struct {
char name[20];
} user; //struct user
int main() {
user list;
int read = 1;
FILE *input = NULL;
if( (input = fopen("user.dat", "rb") ) == NULL) {
printf("Error in opening.");
}
else {
while( read != 0)
{
read = fread(&list, sizeof(user), 1, input);
if ( read > 0) {
static int id = 1;
printf("\nUSER n.%d ------> %s", id, list.name);
id++;
}
}
}
}