Как писать и читать в / из файла QResource в Qt 5?

Странно, я добавляю нужный файл в ресурсы через Добавить существующие файлы …, файл там. Я запускаю qmake («Build-> Run qmake»), чтобы сделать файл доступным.
Первый выпуск: Я не могу ничего записать в файл с выходного терминала! Но когда я вручную записываю в файл, терминал вывода показывает изменения каждый раз, когда я запускаю его. Вторая проблема: это все еще говорит QIODevice :: read: устройство не открыто !
Вот мой код:

#include <QCoreApplication>
#include <QDebug>
#include <QFile>
#include <QString>
#include <QTextStream>
#include <iostream>

void wFile(QString Filename)
{
QFile  nFile(Filename);
QTextStream str(&nFile);
qDebug() << "what do you want to write in the desired file: ";
str.readLine();
if (!nFile.open(QFile::WriteOnly  | QFile::Text))
{
qDebug() << "could not open the file";
return;
}
nFile.flush();
nFile.close();
}

void read (QString Filename){
QFile nFile(Filename);

if(!nFile.open(QFile::ReadOnly | QFile::Text))
{
qDebug() << "could not open file for reading";
return;
}
QTextStream in(&nFile);
QString nText = in.readAll();

qDebug() << nText;
nFile.close();
}int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString nFilename =":/MyFiles/DocumentArminV.txt";

wFile(nFilename);
read(nFilename);

return a.exec();
}

И вот выходной терминал кода:
выход

1

Решение

Файлы, сохраненные в QResource являются только для чтения так как они являются частью исполняемого файла, поэтому вы не можете писать или изменять их.

документы:

введите описание изображения здесь

В настоящее время Qt всегда сохраняет данные непосредственно в исполняемом файле, даже в Windows, macOS и iOS, где операционная система обеспечивает встроенную поддержку ресурсов. …

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]