Перезапись строки в файле

114
07 сентября 2021, 06:00

Суть данной функции, дописывать в определенную строку вводимые данные. Строка разделена разделителем "=" на две подстроки: первая - это два ключа по-которым и определяется строка, а вторая - текст которого необходимо дописать. У меня возникла проблема с перезаписью, имеется ввиду, что после данной строки всё удаляется. Также, почему-то из text записывается только последние слово. Заранее благодарен Вам за помощь и советы.

void renamefile(string day,string time,string text)
{
    ifstream fin;
    string line;
    size_t pos;
    fin.open("test1.txt", ifstream::binary);
    ofstream fout("replaced.txt", ofstream::binary);
    if (!fin)
    {
        cout << "Файл не может быть открыт!" << endl;
        exit(1);
    }
    while (fin.good())
    {
        getline(fin, line);
        pos = line.find(day);
        if (pos != string::npos && line.find(time) != std::string::npos)
        {
            line = line + " " + text;
            fout << line << endl;
            cout << line << endl;
        }
        else
        {
            fout << line << "\n";
        }
    }
    remove("test1.txt");
    rename("replaced.txt", "test1.txt");
    fout.close();
    fin.close();
}

Строки в test1.txt

1 12:00 = hello 
3 15:40 = what you 
...
Answer 1

цикл напишите так:

while (getline(fin, line)) {        
    const size_t pos = line.find(day),
                 end = string::npos;
    if ((pos != end) && line.find(time, pos) != end) {  
        line += (" " + text);           
    }
    fout << line << '\n';
}
READ ALSO
Динамическая память/С++

Динамическая память/С++

Недавно начал изучать с++И в процессе возник вопрос, а именно о том чем nullptr отличается от NULL?

117
Поиск всех вариантов праймеров для известного генома возбудителя болезни

Поиск всех вариантов праймеров для известного генома возбудителя болезни

Если я ещё не надоел, то в качестве тренировки мозгов предлагаю подумать над задачейВообще, я искренне верю, что любые, даже столь маленькие...

281
Отправить файл на (web-сервер) с си клиента (openssl)

Отправить файл на (web-сервер) с си клиента (openssl)

Не получается отправить файл

334
Анимация css в Qt. C++

Анимация css в Qt. C++

Возможно кто-то в курсе, каким образом можно создать анимацию, например плавное изменение цвета кнопки с помощью CSS, просто подключая, например:

132