У меня есть текстовый файл, в котором мне нужно иметь возможность добавлять или удалять определенные строки с помощью функций. Все читается из файла, поэтому, когда я открываю файл и что-то пишу, он удаляет все остальное в этом файле. Я понял, что это можно сделать с помощью векторов. Поскольку я новичок в C ++ и особенно в векторах, я не понял, как я могу прочитать каждую строку в векторе, а затем переписать строки в текстовый файл. Может быть, кто-то может порекомендовать мне какую-нибудь веб-страницу или что-нибудь, где я мог бы узнать, как это сделать.
Функция для добавления строки, но она не добавляет новую строку. Он должен прочитать существующие строки в текстовом файле до vector<string> lines
и затем вывести его в файл, игнорируя первую строку с lines[i+1]
, а затем добавить новую контактную информацию в конец за пределами для l oop.
void add contact(string filename, string*& names, string*& emails,
string*& numbers, unsigned int& quantity, string name, string email,
string number){
string str;
vector<string> lines;
ifstream input(filename);
while(getline(input, str)){
lines.push_back(str);
}
input.close();
ofstream output("contacts.txt");
output << quantity;
for(unsigned int i = 0; i < quantity; i++){
output << endl << lines[i+1];
}
output << endl << name << " | " << email << " | " << number << endl;
}