Помогите пожалуйста, не знаю как записать в файл вектор а:
QVector<float> a;
// далее определяю a
// помогите дальше записать его в файл, например, в file.txt
QVector<float> b;
// а потом считать с него в вектор b
QFile* file; /* где-то определено и инициализировано */
QTextStream out(file);
for(int i=0; i<a.size(); ++i) /// запись
out << a[i] << " ";
#include <stdio.h>
/* vecprint: выводит вектор v длины n в файл ofp */
int *vecprint(int *v, int n, FILE *ofp)
{
while (n--)
fprintf(ofp, " %d%s",
*v++, (n == 0 ? "\n" : ""));
return ferror(ofp) ? NULL : v;
}
#include <stdio.h>
/* vecfill: заполняет вектор v длины n данными из файла ifp */
int *vecfill(int *v, int n, FILE *ifp)
{
int *vp;
for (vp = v; n > 0 && fscanf(ifp, "%d", vp++) == 1; n--)
;
return ferror(ifp) ? NULL : v;
}
QDataStream out(file);
out << a; ///< запись
QDataStream in(file);
in >> b; ///< чтение
#include<QIODevice>
...
QVector<float> A;
// определяю A
QFile file("file.txt");
file.open(QIODevice::WriteOnly); // нужно обязательно открыть файл и указать для чего(!)
QTextStream out(&file);
for(int i=0; i< A.size(); i++) // запись
out << A[i] << " ";
file.close(); // нужно обязательно закрыть файл(!)
QFile file("file.bin");
file.open(QIODevice::WriteOnly); // нужно обязательно открыть файл и указать для чего(!)
QDataStream out(&file);
out << A; // запись
file.close(); // нужно обязательно закрыть файл(!)
// #include<QIODevice>
// ...
QVector<float> A1;
// определяю вектор A1
//...
// записываю вектор A1 в текстовый файл
QFile file1("file.txt");
file1.open(QIODevice::WriteOnly);
QTextStream out1(&file1);
for (int i=0; i<A1.size(); i++)
out1 << A1[i] << "\n"; // запишется в столбик
file1.close();
// ...
// записываю вектор A1 в бинарный файл
QFile file2("file.dat"); // можно также в "file.bin"
file2.open(QIODevice::WriteOnly);
QDataStream out2(&file2);
out2 << A1;
file2.close();
//...
QVector<float> A2;
// считываю из текстового файла в вектор A2
QString str;
file1.open(QIODevice::ReadOnly);
QTextStream in1(&file1);
while (!file1.atEnd())
{
str = in1.readLine();
A2.push_back(str.toFloat());
}
// ...
QVector<float> A3;
// считываю из бинарного файла в вектор A3
file2.open(QIODevice::ReadOnly);
QDataStream in2(&file2);
in2 >> A3;
//...
// #include<QIODevice>
// ...
QVector<float> A1;
// определяю вектор A1
//...
// записываю вектор A1 в текстовый файл
QFile file1("file.txt");
file1.open(QIODevice::WriteOnly | QIODevice::Truncate | QIODevice::Text);
QTextStream out1(&file1);
for (int i=0; i<A1.size(); i++)
out1 << A1[i] << endl; // запишется в столбик
file1.close();
// ...
//...
QVector<float> A2;
// считываю из текстового файла в вектор A2
QString str;
file1.open(QIODevice::ReadOnly | QIODevice::Text);
QTextStream in1(&file1);
while (!file1.atEnd())
{
str = in1.readLine().simplified();
A2.append(str.toFloat());
}
//...
while (!file1.atEnd())
{
bool ok = false;
str = in1.readLine().simplified();
float f = str.toFloat(&ok);
if(ok) A2.append(f);
}
//...
// ...
float num;
char sym;
QFile file1("file.txt");
file1.open(QIODevice::ReadOnly);
QTextStream in1(&file1);
while (!file1.atEnd())
{
in1 >> num >> char;
A2.push_back(num);
}