Поиск в текстовом файле с++. Найти по курсу учеников
Есть попытка в закомментированная, но ничего не получается. Знаю, что нужно прочитать файл и сохранить в массив, а там потом искать, но не получается.Подскажите, пожалуйста.
#include <iostream>
#include<stdlib.h>
#include<fstream>
using namespace std;
void newStud();
void sort();
void search();
void changeInfo();
void list();
struct studInfo
{
char name[25];
char lastName[20];
char group[20];
int yfb,
course;
};
FILE* file;
struct studInfo students[10];
int main()
{
int q = 10;
while (q != 0) {
cout << "\n1 - spisok studentov;\n2 - dobavit' studenta;\n3 - poisk studentd po kursu\n" <<
"4 - izmenit iformaciyu pro studenta;\n5 - sortirovat' studentov;\n0 - vyhod\n";
cin >> q;
switch (q)
{
case 1: list(); break;
case 2: newStud(); break;
case 3:search(); break;
case 4:changeInfo(); break;
case 5:sort();
case 0:exit(0); break;
default:
break;
}
//cin >> q;
}
system("pause");
return 0;
}
void list() {
char tmp[100];
fopen_s(&file, "data.txt", "r");
int i = 0;
if (file != NULL) {
while (fgets(tmp, 100, file) != NULL)
cout << tmp;
}
fclose(file);
}
void newStud() {
fopen_s(&file, "data.txt", "a+");
int i = 0;
int N = i;
char tmp[100];
if (file != NULL) {
cout << "\nHelo\n";
for (int j = 0; j < 1; j++) {
cout << "\helo\n";
cout << "Name: ";
cin >> students[i].name;
cout << "Last name: ";
cin >> students[i].lastName;
cout << "Group: ";
cin >> students[i].group;
cout << "Year of birth: ";
cin >> students[i].yfb;
cout << "Course: ";
cin >> students[i].course;
}
for (int i = 0; i < 1; i++) {
fprintf_s(file, "\n%s %s %s %d %d", students[i].name, students[i].lastName, students[i].group, students[i].yfb, students[i].course);
}
}
fclose(file);
}
void sort() {
}
void search() {
/*char* string = new char[255];
char*string0 = new char[255];
cout << "Vvedite kurs: ";
cin >> string;
fopen_s(&file, "data.txt", "r");
int i = 0;
if (file != NULL) {
while (!feof(file)) {
fgets(string0, 255, file);
}
fclose(file);
}
if (!strcmp(string, string0)) {
cout << "Ne naideno!";
}
fopen_s(&file, "data.txt", "r");
if (!file)
{
cout<<"ERROR";
}
fputs("\n", file);
fputs(string, file);
fclose(file);*/
}