Добрый вечер. Вопрос касаемо сохранения файла с помощью класса QFile на linux.
Собственно проблема:
Хочу сохранить файл на примонтированном usb носителе.
Открываю файл, сохраняю туда информацию, делаю QFile::flush() и закрываю его. Через команду ls вижу данный файл, затем просто выдергиваю флешку, затем опять ее вставляю. Через команду ls этого файла больше не вижу, его вообще нет на флешке. За редким исключением, он все таки иногда сохраняется и его видно после извлечения и вставки обратно. Вариант использовать системный вызов sync и безопасное извлечение не подходит. Необходимо чтобы это работало при экстренном извлечении носителя. Данный фрагмент кода отрабатывает полностью.
Собственно сам код:
QFile TMPPlaylist(NameTMPPlayList);
file.file_name = song.name;
file.full_path = path;
tmp_playlist.push_back(file);
if (TMPPlaylist.open(QIODevice::Append | QIODevice::Text)) {
qDebug() << "WRITE In= PlayList " << NameTMPPlayList << "song = " << path.toUtf8();
QTextStream writeStream(&TMPPlaylist);
writeStream << path << "\n";
qDebug()<<"FLASH RETURN = " <<TMPPlaylist.flush();
TMPPlaylist.close();
}
Что еще можно попробовать сделать, чтобы этот файл все таки сохранился?