Я создал программу, которая должна принимать входные данные от пользователя и записывать их в текстовый файл. Сейчас я делаю другую программу для чтения этих записей из файла и их сортировки.
Итак, у меня есть, например:
User three; Test three; 30
User one; Test; 51
User two; Test two; 40
Программа должна отсортировать эти записи по номеру в конце, поэтому должно быть:
User one; Test; 51
User two; Test two; 40
User three; Test three; 30
Это мое текущее усилие, в основном я создал переменную char one
, которая будет хранить данные, полученные из fgets
, и распечатывать их. Две проблемы: char one
имеет фиксированную переменную (255), поэтому, если запись будет длиннее 255, возникнет ошибка.
Вторая проблема в том, что я не знаю, как обрабатывать каждую запись файла, имеет переменную, я могу напечатать весь файл, но я не знаю, как сравнить данные по последнему номеру, любые советы ? Я с нетерпением ждал возможности использовать для этого сортировку по пузырькам.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
char one[255];
FILE * fpointer = fopen("record.txt", "r");
while (!feof (fpointer) ) {
fgets(one, 255, fpointer);
printf("%s", one);
}
fclose(fpointer);
return 0;
}