Файл содержит данные в этой форме.
1#Ali Khan#Lahore#M#22#1#1#1997#1
2#Ahsan Latif#Karachi#M#19#21#5#1996#1
3#M Sultan#Lahore#M#15#15#1#1998#1
4#Sana Ali#Islamabad#F#19#3#4#1996#1
Где каждая строка представляет уникального пользователя в следующем порядке (Id, Name, City, Gender, Age, DoB).
Моей программе придется читать этот файл построчно и заполнять список пользователей.
void loadUsersfromFile( facebookUser * userlist, int & size);
facebookUser
- это struct
.И userlist
- это массив
Я попытался использовать getline()
и поместил строку в строковую переменную.Затем, используя substr, я извлекаю id, пол имени пользователя и т. Д.
Но проблема в том, что строку нельзя скопировать в массив типа facebookUser.Так что не работает.
#include <iostream>
#include <fstream>
using namespace std;
struct mDate {
int day;
int month;
int year;
};
struct facebookUser {
int id;
char *userName;
char *city;
char gender;
mDate Dob;
int *friendList; //Array of int type, where you will store friend id’s
int friends = 20; //Store Number of Friends, default value i 20.
bool active; // true for active users and false for inactive
};
void loadUsersfromFile (facebookUser * ul, int &s)
{
ifstream myFile;
myFile.open ("users.txt");
myFile.close ();
}
int main ()
{
facebookUser *userlist;
int size;
size = 4;
userlist = new facebookUser[50];
loadUsersfromFile (userlist, size);
}