Добрый день!
Встал вопрос...
C++ (Qt)
#include "contact.h"
//сохранение в переменные контактных данных пользователя
void Contact::setContactName(QString name)
{
contactName = name;
}
void Contact::setContactSurname(QString surname)
{
contactSurname = surname;
}
void Contact::setContactPatronymic(QString patronymic)
{
contactPatronymic = patronymic;
}
void Contact::setContactOrganization(QString organization)
{
contactOrganization = organization;
}
void Contact::setContactCountry(QString country)
{
contactCountry = country;
}
void Contact::setContactCity(QString city)
{
contactCity = city;
}
void Contact::setContactArea(QString area)
{
contactArea = area;
}
void Contact::setContactZipCode(QString zipCode)
{
contactZipCode = zipCode;
}
void Contact::setContactEmail(QString email)
{
contactEmail = email;
}
void Contact::setContactPhone(QString phone)
{
contactPhone = phone;
}
void Contact::setContactFax(QString fax)
{
contactFax = fax;
}
void Contact::setContactIcq(QString icq)
{
contactIcq = icq;
}
//взятие контактных данных из класса Contact
QString Contact::getContactName()
{
return contactName;
}
QString Contact::getContactSurname()
{
return contactSurname;
}
QString Contact::getContactPatronymic()
{
return contactPatronymic;
}
QString Contact::getContactOrganization()
{
return contactOrganization;
}
QString Contact::getContactCountry()
{
return contactCountry;
}
QString Contact::getContactCity()
{
return contactCity;
}
QString Contact::getContactArea()
{
return contactArea;
}
QString Contact::getContactZipCode()
{
return contactZipCode;
}
QString Contact::getContactEmail()
{
return contactEmail;
}
QString Contact::getContactPhone()
{
return contactPhone;
}
QString Contact::getContactFax()
{
return contactFax;
}
QString Contact::getContactIcq()
{
return contactIcq;
}
QDataStream &operator<<(QDataStream &out, Contact &contact)
{
out << contact.getContactName()
<< contact.getContactSurname()
<< contact.getContactPatronymic()
<< contact.getContactOrganization()
<< contact.getContactCountry()
<< contact.getContactCity()
<< contact.getContactArea()
<< contact.getContactZipCode()
<< contact.getContactEmail()
<< contact.getContactPhone()
<< contact.getContactFax()
<< contact.getContactIcq();
return out;
}
QDataStream &operator>>(QDataStream &in, Contact &contact)
{
QString tmp;
in >> tmp;
contact.setContactName(tmp);
in >> tmp;
contact.setContactSurname(tmp);
in >> tmp;
contact.setContactPatronymic(tmp);
in >> tmp;
contact.setContactOrganization(tmp);
in >> tmp;
contact.setContactCountry(tmp);
in >> tmp;
contact.setContactCity(tmp);
in >> tmp;
contact.setContactArea(tmp);
in >> tmp;
contact.setContactZipCode(tmp);
in >> tmp;
contact.setContactEmail(tmp);
in >> tmp;
contact.setContactPhone(tmp);
in >> tmp;
contact.setContactFax(tmp);
in >> tmp;
contact.setContactIcq(tmp);
return in;
}
C++ (Qt)
// файл определяющий класс контактной информации пользователя
#ifndef CONTACT_H
#define CONTACT_H
#include <QString>
#include <QDataStream>
class Contact {
public:
//установка значиний переменных Контакта пользователя
void setContactName(QString name);
void setContactSurname(QString surname);
void setContactPatronymic(QString patronymic);
void setContactOrganization(QString organization);
void setContactCountry(QString country);
void setContactCity(QString city);
void setContactArea(QString area);
void setContactZipCode(QString zipCode);
void setContactEmail(QString email);
void setContactPhone(QString phone);
void setContactFax(QString fax);
void setContactIcq(QString icq);
//взятие контактных данных пользователя
QString getContactName();
QString getContactSurname();
QString getContactPatronymic();
QString getContactOrganization();
QString getContactCountry();
QString getContactCity();
QString getContactArea();
QString getContactZipCode();
QString getContactEmail();
QString getContactPhone();
QString getContactFax();
QString getContactIcq();
private:
//Details
QString contactName;
QString contactSurname;
QString contactPatronymic;
QString contactOrganization;
//Adress
QString contactCountry;
QString contactCity;
QString contactArea;
QString contactZipCode;
// FeedBack
QString contactEmail;
QString contactPhone;
QString contactFax;
QString contactIcq;
};
QDataStream &operator<<(QDataStream &out, Contact &contact);
QDataStream &operator>>(QDataStream &in, Contact &contact);
#endif
Подскажите, пожалуйста, как такой тип данных можно сохранять в один файл, в котором всё будет записываться списком... И обязательно нужно иметь произвольный доступ к каждому элементу. И так, чтобы при открытии файла не загружался весь файл сразу.