Как я могу отсортировать строки в алфавитном порядке из структур в двоичном файле? - PullRequest
0 голосов
/ 31 мая 2019

У меня есть некоторые структуры, записанные в двоичный файл. Допустим, эти структуры содержат только 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++;
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...