Есть проблема. Мне нужно создать файл и заполнить его данними какие я ввел в структуру (это понятно, сделал). Потом мне нужно эти данные отсортировать по имени по алфавиту . И тут проблема, пробую отсортировать с помощью sort() , но для этого нужно передать структуру в вектор и это у меня не получаеться.
Это структура :
#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 <iostream>
#include <fstream>
#include <vector>
#include "nameFile.h"
#include "readFile.h"
using namespace std;
void sortFile(){
database infa;
vector<database> infa;
sort(infa.begin(), infa.end(), [](const infa& a, const infa& b) {
return a.myName < b.myName;
});
}
А заполняем структуру здесь :
#pragma once
#include <fstream>
#include <iomanip>
#include "nameFile.h"
#include "structRecord.h"
using namespace std;
void writelnFile(){
int n;
cout << "n = ";
cin >> n;
nameFile();
ofstream NAME(nameF, ios::binary | ios::app);
for(int i=0; i<n; i++){
database infa = recordIn();
NAME.write((char *)&infa, sizeof(infa));
}
NAME.close();
}
Надеюсь на вашу помощь.