Ok, I'm not sure what the problem was but I have this and it works now
-in case somebody is interested:
QString fName = QString::fromStdString(filename);
QFile f(fName);
if (!f.exists())
return;
int s = f.size();
if (s <= 0)
return;
if (!f.open(QIODevice::ReadOnly))
return;
if (!f.isReadable())
return;
QByteArray bytes = f.readAll();
char* bb = bytes.data();
std::string str;
for (int i=0; i<f.size(); ++i)
{
str += bb[i];
}
std::stringstream stream;
stream << str;
On 08/02/2013 10:05 PM, Karl Ruetz wrote:
I'd try QDataStream.
For input:
QFile file("file.xxx");
file.open(QIODevice::ReadOnly);
QDataStream in(&file);
use >> operator or readBytes method to read
for output:
QFile file("file.xxx");
file.open(QIODevice::WriteOnly);
QDataStream out(&file);
use << operator or writeBytes() method to write.
Karl
On 2013-08-02 13:18, Rollastre Prostrit wrote:
Hi Qters:
Due to vicissitudes of a third party library I'm using I have to read
the bytes of png files (binary files) embedded in the resources via
using a std::istream. I have been struggling quite a bit with this and
googling a lot without success. Maybe this is something that it is easy
to solve but I haven't succeeded with it yet.
I use this snippet
QFile f(":/images/file.png");
if (!f.exist())
return;
if (f.size()<=0)
return;
if (!f.open(QIODevice::ReadOnly))
return;
if (!f.isReadable())
return;
QByteArray bytes = f.readAll();
char* bb = bytes.data();
std::string str;
for (int i=0; i<s; ++i)
{
str += bb[i];
}
stringstream stream;
stream << str;
I use strings here because some of the tens of articles I've read
suggested it. It doesn't seem to work, though. If I dump the bytes to a
temp file, I see the file becomes corrupted. There is an extra empty
byte right after the PNG header. My guess is that the zero-end byte is
messing everything up. But I admit that I don't find any solution for this.
Has somebody faced this problem and/or can see what/how is the solution?
Thanks in advance!
_______________________________________________
Interest mailing list
Interest@qt-project.org <mailto:Interest@qt-project.org>
http://lists.qt-project.org/mailman/listinfo/interest
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest
_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest