Итак, во-первых, я не думаю, что вы должны хранить информацию в векторе строк. Задача такого рода полностью требует использования
struct employee {
int id;
std::string name;
std::string address;
//... more info
};
И хранение экземпляров сотрудников в
std::vector<employee>
Видите ли, если вы используете стратегию хранения строк, поиск слова "вестминстер" приведет меня к Робби, так как его строка текста содержит эту подстроку, но его имя вовсе не Вестминстер. Хранение данных в векторе структур сотрудников решило бы эту проблему, и это сделало бы все это намного более структурированным.
Конечно, вам действительно нужно проанализировать файл, чтобы получить информацию в векторе. Я бы предложил использовать такую стратегию, как:
while(getline(infile, textline, '\n')) {
std::stringstream l(textline);
getline(l,oneEmp.name, ','); //extract his name using getline
l >> oneEmp.id; //extract his id
//extract other fields from the stringstream as neccessary
employees.push_back(oneEmp);
}
Что касается добавления информации: когда пользователь вводит данные, просто сохраняйте их в векторе ваших сотрудников; и когда вам нужно обновить файл, вы можете просто перезаписать исходный файл данных новым, открыв его для записи и выгрузки данных туда (это, очевидно, довольно расточительная стратегия, но она подходит для школьного задания (я предположим, это школьное задание)).