Hi,
There is a file including varies type of data. data is written in this file as below:
1- 500 doubles
2- 500 doubles
3- 500 doubles
4- 500 ints
5- 500 QString inside a QStringList
and the code for writing this file is:
void write()
{
QFile g1f, g2f, of, chf, namef;
double g1[500];
double g2[500];
double ofse[500];
int ch[500];
for(int i=0; i<500; ++i)
{
g1[i] = i/2.0;
g2[i] = 2.0*i;
ofse[i] = 1;
ch[i]=i;
names.
append(QString("name%1").
arg(i
));
}
g1f.setFileName("oneFile.th");
if(!g1f.
open(QFile::WriteOnly)) {
qDebug()<<"can not open to write";
}
g1f.write((char*)g1, (500)*sizeof(double));
g1f.flush();
g1f.close();
g2f.setFileName("oneFile.th");
if(!g2f.
open(QFile::Append)) {
qDebug()<<"can not open to write";
}
g2f.write((char*)g2, (500)*sizeof(double));
g2f.flush();
g2f.close();
of.setFileName("oneFile.th");
if(!of.
open(QFile::Append)) {
qDebug()<<"can not open to write";
}
of.write((char*)ofse, (500)*sizeof(double));
of.flush();
of.close();
chf.setFileName("oneFile.th");
if(!chf.
open(QFile::Append)) {
qDebug()<<"can not open to write";
}
chf.write((char*)ch, (500)*sizeof(int));
chf.flush();
chf.close();
namef.setFileName("oneFile.th");
if(!namef.
open(QFile::Append)) {
qDebug()<<"can not open to write";
}
df << names;
namef.flush();
namef.close();
}
void write()
{
QFile g1f, g2f, of, chf, namef;
double g1[500];
double g2[500];
double ofse[500];
int ch[500];
QStringList names;
for(int i=0; i<500; ++i)
{
g1[i] = i/2.0;
g2[i] = 2.0*i;
ofse[i] = 1;
ch[i]=i;
names.append(QString("name%1").arg(i));
}
g1f.setFileName("oneFile.th");
if(!g1f.open(QFile::WriteOnly))
{
qDebug()<<"can not open to write";
}
g1f.write((char*)g1, (500)*sizeof(double));
g1f.flush();
g1f.close();
g2f.setFileName("oneFile.th");
if(!g2f.open(QFile::Append))
{
qDebug()<<"can not open to write";
}
g2f.write((char*)g2, (500)*sizeof(double));
g2f.flush();
g2f.close();
of.setFileName("oneFile.th");
if(!of.open(QFile::Append))
{
qDebug()<<"can not open to write";
}
of.write((char*)ofse, (500)*sizeof(double));
of.flush();
of.close();
chf.setFileName("oneFile.th");
if(!chf.open(QFile::Append))
{
qDebug()<<"can not open to write";
}
chf.write((char*)ch, (500)*sizeof(int));
chf.flush();
chf.close();
namef.setFileName("oneFile.th");
if(!namef.open(QFile::Append))
{
qDebug()<<"can not open to write";
}
QDataStream df(&namef);
df << names;
namef.flush();
namef.close();
}
To copy to clipboard, switch view to plain text mode
now i want to read this file and separate to:
1- 500 doubles >>>>> double ge1[500]
2- 500 doubles >>>>> double ge2[500]
3- 500 doubles >>>>> double of[500]
4- 500 ints >>>>> int ch[500]
5- 500 QString inside a QStringList >>>>> QStringList nam
please help me to read and separate this file.
thanks
Bookmarks