我有一个资源文件
<RCC>
<qresource prefix="/">
<file>_initData</file>
<file>_LOGFILE</file>
</qresource>
</RCC>在我的代码中,我很容易访问第一个,但不能访问第二个。
QFile file(":/_initData");
if (!file.open(QIODevice::ReadOnly)) {
qDebug() << "Cannot open file to fill avtomatTable";
}工作正常
QFile file(":/_LOGFILE");
if (!file.open(/*QIODevice::Truncate | */QIODevice::WriteOnly)) {
qDebug() << "Cannot open LOGFILE";
}永远不会起作用
我使用的是KUbuntu。这两个文件都位于此项目的目录/home/template/_projects/4_Disr中。我误解了正在发生的事情,准备相信克苏鲁。有什么建议吗?
发布于 2011-05-25 21:48:22
据我所知,封装在资源中的所有数据都是只读的。rcc将所有资源编译成二进制格式,通常会压缩它们,所以你不能在写模式下访问它们。
这意味着文件夹中的文件是在编译时获取的,并被添加到.rcc文件中,该文件用作资源的源文件。磁盘上的文件只是汇编资源文件的来源,你的程序不使用它们,只使用rcc。
您应该将日志文件创建为独立文件,一切都将正常工作。不要将其嵌入到资源系统中。
https://stackoverflow.com/questions/6125387
复制相似问题