Не получаеться отсортироваь данные в файле имена по алфавиту. Но как на меня то все правильно.
Структура :
#pragma once
#include <iostream>
using namespace std;
struct database{
char myName[124];
char city[124];
int age;
};
database recordIn(){
database infa;
cin.ignore();
cout << "Name : ";
cin >> infa.myName;
cout << "City : ";
cin >> infa.city;
cout << "Age : ";
cin >> infa.age;
return infa;
}
Сама сортировка :
#pragma once
#include <fstream>
#include <cstring>
#include "structRecord.h"
using namespace std;
void sortFile(){
fstream f("test.txt", ios::in | ios::binary);
fstream f1("tes.txt", ios::out | ios::binary);
database infa;
database mas[124];
int i=0;
while(f.read((char*)&mas[i],sizeof(database))!= NULL){
i++;
}
int n=i;
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
if(strcmp(mas[j].myName, mas[j+1].myName) >0){
infa=mas[j+1];
mas[j+1]=mas[j];
mas[j]=infa;
}
}
}
for(int i=0; i<n; i++){
f1.write((char*)&mas[i],sizeof(database));
}
f1.close();
f.close();
remove("test.txt");
rename("tes.txt","test.txt");
}