PDA

View Full Version : QDataSteam.



wookoon
25th September 2010, 06:33
I get the text from the UI's QTextEdit, and write to the file use QDataStrem,but if the input text has used Enter key, then I will get garbled from the file.

There are some codes:


QDataStream &operator<<(QDataStream &out,const MyClass &obj)
{
out << obj.m_name
<< obj.m_desc
<< obj.m_argMap
<< obj.resultVel
<< obj.m_code;

return out;
}

QDataStream &operator>>(QDataStream &in, MyClass &obj)
{
in >> obj.m_name
>> obj.m_desc
>> obj.m_argMap
>> obj.resultVel
>> obj.m_code;

return in;
}

.... WriteToFile()
{
.........................
QFile file(path);
if (!file.open(QIODevice::ReadWrite | QIODevice::Text))
return 1;

MyClass d;
d.setName(name);
d.setCode(code);
d.setDescription(desc);

QDataStream out(&file);
out.setVersion(QDataStream::Qt_4_6);
out << d;
file.close();
.........................

}

.... ReadFromFile()
{
.........................
QFile file(str);
if (!file.open(QIODevice::ReadOnly))
return 1;

MyClass d;
QDataStream in(&file);
in.setVersion(QDataStream::Qt_4_6);
in >> d;
file.close();
.........................

}

What I get are like this : ㈀㌀㄀㈀㌀.........

wysota
25th September 2010, 07:50
Don't open the file as text.