Так что я делаю какой-то реестр, который хранит информацию о людях.
Моя проблема в том, что у меня есть класс, в котором есть несколько сеттеров и геттеров для человека (имя, дата рождения, место рождения и т. Д.).
И когда я пытаюсь прочитать информацию из текстового файла, я не могу дать установщикам параметры, которые я получил из файла.
Я создал файл, в котором я пытаюсь выяснить проблему, но я никуда не могу добраться. Цикл не имеет значения, если то, что я пытаюсь сделать, не в цикле и в файле есть только одна строка, проблема остается той же
int main(){
std::string firstName;
std::string lastName;
std::string phoneNumber;
std::string birthPlace;
std::string birthDate;
std::string Profession;
Contacts newContact = Contacts();
std::ifstream savedContacts("ContactList.txt");
do{
std::getline(savedContacts, firstName, ';');
std::getline(savedContacts, lastName, ';');
std::getline(savedContacts, phoneNumber, ';');
std::getline(savedContacts, birthPlace, ';');
std::getline(savedContacts, birthDate, ';');
std::getline(savedContacts, Profession, ';');
/*
in this case, this setter doesn't work,
it doesn't get the string stored in firstName,after this,the program
crashes
*/
newContact.setFirstname(firstName);
std::cout<<newContact.getFirstname();
/*
and just to make sure that the reading of the file was successful
if i print out one of these strings, like this, it works perfectly
*/
std::cout<<firstName;
}while(std::getline(savedContacts, firstName));
Самое смешное, что если я сделаю это:
newContact.setFirstname ( "Карен");
тогда сеттер работает отлично, а также мой геттер
так выглядят мои сеттеры и геттеры в моем классе контактов
std::string Contacts::setFirstname(std::string firstName) {
this->firstName = firstName;
}
std::string Contacts::getFirstname() {
return firstName;
}
И это внутри txt файла:
John;Wick;1800181819;Paris;11.09.1990;Plumber;
Anthony;Joshua;192918180;Manchester;10.08.1994;Teacher;