У меня есть следующий класс c ++ под названием «Контакт»:
class Contact
{
private:
std::string contactName;
double subscriptionPrice;
int minutesIncluded;
public:
Contact(const std::string &contactName, double subscriptionPrice,
int minutesIncluded) : contactName(contactName), subscriptionPrice(subscriptionPrice), minutesIncluded(minutesIncluded)) {}
Contact() {
}
...gettetrs and setters
}
У меня есть текстовый файл с одним или несколькими контактами в формате:
asd,1.00000,1
В основном методе у меня есть метод, которыйДобавьте правильно вектор контактов в этом текстовом файле.Проблема в том, когда я пытаюсь читать с него.Моя цель - преобразовать текстовый файл в вектор контактов.Метод, который я использую, следующий:
void phonebook_load(vector<Contact> &contacts)
{
string line;
ifstream phonebook_file;
vector<std::string> lines;
phonebook_file.open(phonebook_filename);
if(!phonebook_file.is_open())
cout << "Phonebook file could not be openned !!!" << endl;
else
{
while (phonebook_file.good())
{
for (string line; getline(phonebook_file, line, ','); )
lines.push_back(line);
}
phonebook_file.close();
}
}
У меня есть два варианта:
- Читать строку за строкой (которую я не могу разделить на ",")
- Разделитьс помощью ",", которые печатают каждое свойство контакта в новой строке, и я не вижу, как это будет обрабатываться оттуда.
Что я должен изменить в своем методе, чтобы прочитать строку файлаи правильно преобразовать его в vector<Contact>