Уточнение проблемы:
Измененные программой строки не перезаписываются в то же место, а добавляются в конец файла
то есть сейчас результат работы такой:
до
1строка
2строка(нужно изменить)
3сторка
4строка(нужно изменить)
после
1строка
2строка(нужно изменить)
3сторка
4строка(нужно изменить)
2строка(измененная)
4строка(измененная)
Добавление
file.seek(file.pos() - line.length() - 1);
никак не повлияло на результат, мне кажется что дело в операторе <<, т.к. он добавляет сразу в конец файла.
Возможно нужно использовать что-то вместо него?