Добрый день!
Недавно начал программировать под Qt и наткнулся на несколько непонятных мне вещей:
1. Ф-ция QString val::loadInputText() const считывает текст с файла C:\\String_value\\input.txt и записует его в текстовое поле textIn, затем по нажатию кнопки "Save" вызывается ф-ция QString val::saveOnFile() которая сохраняет измененный текст с текстового поля в тот же файл, вопрос в следующем - почему если в ф-ции QString val::saveOnFile() записать inputFile->open(QIODevice::ReadWrite); программа перестает правильно работать, а именно не дает записать изменения в файл после удаления нескольких символов(например если в файле строка "In forest many trees" отредактировать ее до "In forest many" всеравно окажется в файле "In forest many trees")?
QString val::loadInputText() const
{
QFile *inputFile = new QFile("C:\\String_value\\input.txt");
inputFile->open(QIODevice::ReadWrite);
QTextStream in(inputFile);
QString inLine = in.readAll();
inputFile->close();
delete inputFile;
textIn->setPlainText(inLine);
return inLine;
}
QString val::saveOnFile()
{
QFile *inputFile = new QFile("C:\\String_value\\input.txt");
[color=yellow]inputFile->open(QIODevice::WriteOnly);[/color]
QTextStream in(inputFile);
in.setCodec("Windows-1251");
QString inLine = textIn->toPlainText();
in << inLine;
inputFile->close();
delete inputFile;
return inLine;
}