Форум программистов, компьютерный форум CyberForum.ru

Вывод в файл вектора объектов - C++

Восстановить пароль Регистрация
 
Healius
4 / 4 / 0
Регистрация: 06.05.2011
Сообщений: 50
24.01.2012, 11:13     Вывод в файл вектора объектов #1
Приветствую.
есть класс Library, в котором 2 вектора с объектами Person и Book. Пишу вывод в файл содержимого векторов
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
    void lib2file(ostream& persons,ostream& books){
#pragma omp parallel sections
        {
#pragma omp section
            {
                while(!pV.empty()){
                    persons<<pV.back();
                    persons.clear();
                    pV.pop_back();
                }
            }
#pragma omp section
            {
                while(!bV.empty()){
                    books<<bV.back();
                    books.clear();
                    bV.pop_back();
                }
            }
        }
    }
bV и pV - соответственно векторы Book и Person.

операторы вывода перегружены в каждом классе
C++
1
2
3
4
5
6
7
8
9
    friend ostream& operator <<(ostream&,Person);
};
    
ostream& operator <<(ostream& stream,Person obj){
    stream<<obj.get_name()<<endl;
    stream<<obj.get_adress()<<endl;
    stream<<obj.get_phone()<<endl;
    return stream;
}
C++
1
2
3
4
5
6
7
8
9
    friend ostream& operator <<(ostream&,Book);
};
 
ostream& operator <<(ostream& stream,Book obj){
    stream<<obj.get_title()<<endl;
    stream<<obj.get_author()<<endl;
    stream<<obj.get_year()<<" "<<obj.get_num()<<endl;
    return stream;
}
проблема в том, что в файл выводит не то что надо, а отрицательное целое число, причем одно.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2012, 11:13     Вывод в файл вектора объектов
Посмотрите здесь:

C++ вывод вектора
C++ В программе реализовать возможность записи объектов в файл и чтения объектов из файла
C++ Вывод в файл и последующее чтение из файла объектов класса
Предикаты. Выборка объектов из вектора по определённому полю C++
Вектор объектов разных классов. Доступ к свойствам элемента вектора C++
C++ Удаление из вектора нескольких объектов
C++ Вывод/ввод в файл объектов с указателями
C++ Вывод вектора

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
24.01.2012, 19:17     Вывод в файл вектора объектов #2
Цитата Сообщение от Healius Посмотреть сообщение
#pragma omp parallel sections
Прагмы вызывают опасение. Без них пробовали?
Teravisor
30 / 30 / 3
Регистрация: 07.08.2011
Сообщений: 89
24.01.2012, 20:25     Вывод в файл вектора объектов #3
А вы проверили, что потоки открылись как надо? Что в них нет ошибок?

Если нет ошибок там - попробуйте проверить наличие ошибок сразу после комманд вывода в поток, и проверить код ошибки (errno(linux) или GetLastError() (windows) если правильно помню)

З.Ы. Можно поинтересоваться, зачем
persons.clear(); и books.clear(); ? я не вижу чтобы их эффект где-то тут использовался.
Yandex
Объявления
24.01.2012, 20:25     Вывод в файл вектора объектов
Ответ Создать тему
Опции темы

Текущее время: 11:45. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru