Привет всем.
Пытаюсь сохранить в файл объекты некоторого класса(поле int и QString), используя для этого структуру типа
struct zap_adrs{
        int id;
        char adrs[50];
};
QString заменил char, т.к. вроде есть проблемы с записью этого типа.
Проблема в том, что после считывания у меня вместо русских символов отображаются "

?".
Запись:
ID - абстрактный класс, пример упростил просто.
void WriteAddress(ID &ob, QFile &f)
{
        address *w;
        zap_adrs A;
        w=(address*)(&ob);
        A.id=w->get_id(); //возвращает значение одного из полей
        strcpy(A.adrs, w->get_name().toAscii());      //копирую в структуру другое поле
        f.write((char*)&A, sizeof(A));
}
void Programm::SaveToFile()
{
    QFile file("data.dat");
    WriteAddress(*(collection->at(0)), file);   //collection - это QVector< ID* >
    file.close();
}
Считывание:
void Programm::LoadFromFile()
{
    if(collection->size()!=0)
            collection->clear();
            QFile f("data.dat");
            zap_adrs A;
            address *a;
            f.read((char*)&A, sizeof(A));
            a=new address(A.id, A.adrs);
            collection->push_back(a);
            f.close();
}
Теперь в A.adrs закорючки.