c++ - 从 Qt 资源加载 Csv 文件

标签 c++ qt qt-creator

我正在尝试读取已添加到项目资源中的 csv 文件。 然而,当我尝试打开该文件时,它失败了。

std::ifstream csvFile;
csvFile.open(fileName);

这就是我尝试打开它的方法。资源中的其他文件都可以(所有其他文件都是图像,并且它们加载和显示正确)。 我正在使用 Qt5.7 和 Qt Creator 4.0.2

有什么提示吗?

最佳答案

失败的原因是 Qt 资源并不是真正的文件,可以由每个处理文件的工具打开。相反,添加到 Qt 项目资源的文件内容为 built into生成的可执行文件。

好消息是 Qt 具有允许您像使用真实文件一样使用这些资源的功能:

QString myResourceFile = ":/resources/file.csv";
QFile file(myResourceFile);
if (file.open(QIODevice::ReadOnly)) {
    QByteArray contents = file.readAll();
    // process file's contents
}
else {
    // Whoops, something went wrong, bad path to resource?
}

关于c++ - 从 Qt 资源加载 Csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45431919/

相关文章:

c++ - Qt5 和 OpenCV 4

c++ - 将十六进制转换为带符号的十进制

c++ - QT Creator 简单应用

qt-creator - 如何编译包含所有 Qt 所需库、QtCreator、Linux 的项目?

具有双重比较的 C++ 奇怪行为

c++将自动矩阵传递给函数

c++ - 关于虚幻引擎 4 中 PlayAnimMontage 代码的问题

c++ - Teamviewers Quickconnect 按钮是如何实现的?

c++ - 如何将c++项目导入QT creator

c++ - 尽管文件确实存在,std::filesystem::exists() 返回 false