Das ist mein struct:Wie importiere ich Daten aus einer Datei in mein Array von struct?
struct Event{
int day;
int month;
int year;
int weekday;
string event;
};
wie Meine Ereignisse Datendatei sein würde:
# Comment and empty lines are ignored
# ’$’ means LAST, ’*’ is wildcard
# Weekday on symbolic from Mon,Tue,Wed,Thu,Fri,Sat,Sun
# Events specs start
# Last day is payday
$.*.*:*:Payday
# Birthday at 1.3
1.3.*:*:Birthday Party
# Darts on Fridays
*.*.*:Fri:Darts evening
13.*.*:Fri:Friday the 13th
# EOF
Ich habe versucht, diese Funktion zu schreiben:
void readFile(vector<string> &data){
string line;
ifstream readFile("events.dat", ios::in);
if (!readFile) {
cerr<<"File COuld not be opened"<<endl;
exit(EXIT_FAILURE);
}
while (readFile && !readFile.eof()) {
getline(readFile,line);
if (line.length() == 0 or line[0] == '#' or line[0] == '/')
break;
data.push_back(line);
}
}
ich aber jetzt nicht wissen, wie man Datenvektor in Ereignisvektor umwandelt?
Sie könnten lesen wollen [ „? Warum ist Iostream :: EOF innerhalb einer Schleife Bedingung falsch als“] (http : //stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-sidered-wrong). –
Sie könnten auch daran interessiert sein, mehr abouit ['std :: getline'] (http://en.cppreference.com/w/cpp/string/basic_string/getline) zu lesen, da es zum Analysieren der Zeilen verwendet werden könnte, die Sie haben . Ich empfehle Ihnen auch, über ['std :: stoi'] (http://en.cppreference.com/w/cpp/string/basic_string/stol) nachzulesen. –