Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Boost stream error. 
:(
    Опции темы
Elfet
Дата 18.10.2009, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Приветствую! 

Я пользуюсь boost-ом для сериализации. У меня всё нормально работало. Затем, по непонятно мне причине, когда я выложил проект в code.google.com у меня перестала работать сериализация:
Код

        try
        {
            assert(ofs.good());

            boost::archive::text_oarchive oa(ofs);

            oa << mesh;
        }
        catch(boost::archive::archive_exception e)
        {
            throw MyError("Error in save: " + filename + "\n" + string(e.what()));
        }

Выскакивает исключение с: stream error

Помогите понять в чём тут дело? Исходники можно посмотреть тут:
http://code.google.com/p/smart-flow/source...urce/Solver.cpp

Заранее спасибо за помощь!



--------------------
PM MAIL WWW Skype   Вверх
Elfet
Дата 19.10.2009, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Причём если объект mesh - пустой - всё прекрасно сохраняется, а вот если в него загружена сетка - то проблема(stream error какой-то) 

Помогите, пожалуйста! 


--------------------
PM MAIL WWW Skype   Вверх
Elfet
Дата 19.10.2009, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Нашёл откуда эта ошибка берётся:
кусок кода из класса ImportFluent2D:
Код

// zone names grab
    while(block_open(45))
    {
        int zone_id=0;

        if ( fscanf(stream, " (%d ", &zone_id) != 1 )
            throw MyError();

        string zone_name;
        zone_name.clear();
        char ch;
        int j = 0;
        while ( !feof(stream) && (ch = fgetc( stream )) != ')' )
        {
            zone_name[j] = ch;
            j++;
        }

        mesh->zones->push_back(new Zone(zone_id, string(zone_name.c_str()) ));

    }

Если это закомментировать - то всё будет в порядке! Никак не могу понять в как они взаимосвязаны! Может быть вы видите?  smile 


--------------------
PM MAIL WWW Skype   Вверх
zim22
Дата 20.10.2009, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


Профиль
Группа: Завсегдатай
Сообщений: 2682
Регистрация: 15.1.2009
Где: Украина

Репутация: 24
Всего: 69



Цитата(Elfet @  19.10.2009,  21:17 Найти цитируемый пост)
string(zone_name.c_str())

почему просто zone_name не передавать?
Код

mesh->zones->push_back(new Zone(zone_id, zone_name));



--------------------
PM MAIL   Вверх
Elfet
Дата 20.10.2009, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



zim22, да тут у меня тоже проблема - имена зон записываются одна поверх другой.


--------------------
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0792 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.