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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Healius
4 / 4 / 0
Регистрация: 06.05.2011
Сообщений: 50
#1

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

24.01.2012, 11:13. Просмотров 514. Ответов 2
Метки нет (Все метки)

Приветствую.
есть класс 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++
Добавить вывод в файл и чтение из файла объектов класса. Работа должна отображаться на мониторе. Прошу не много подсабить. #include...

Вывод в файл и последующее чтение из файла объектов класса - C++
Как наиболее правильно и канонично выводить (так чтобы потом ещё и прочитать) объекты классов в файл? Представим ситуацию: Есть класс...

Сортировка объектов вектора - C++
class Words { public: int number; // Номер в словаре для быстрого поиска string word; // Само слово vector &lt;int&gt;...

Удаление из вектора объектов - C++
Есть вектор, состоящий из объектов какого-то класса. Есть объект принадлежащий этому классу. На вход методу приходит этот объект и его...

Сортировка вектора объектов по полю - C++
Всем доброго времени суток. Знаю, что вопрос часто задаваемый, но я не нашел для себя ответа. В голове смешалось все. Лямбды, ф-ии...

Удаление из вектора нескольких объектов - C++
Собственно как удалить несколько объектов из вектора, имея индексы/итераторы, ведь при удалении первого объекта придется пройтись по всем...

Как освободить память из-под вектора объектов? - C++
vector&lt;TObj*&gt; obj; obj.push_back(new obj()); obj.erase(obj.begin()+indx);//удаляю указатель который указывал на объект &quot;Для...

Предикаты. Выборка объектов из вектора по определённому полю - C++
Здравствуйте. Имеется некий шаблон класса, один из членов которого - вектор. Т.е. что-то вроде template &lt;class T&gt; class...

Вектор объектов разных классов. Доступ к свойствам элемента вектора - C++
есть базовый класс class A { //... } есть производные классы class A1 : public A { //... public:

Вывод вектора ax+b - C++
Программа решает систему методом зейделя, помогите пожалуйста в завершающей точке вывести вектор ах-б :) //#include &quot;stdafx.h&quot; ...

Вывод вектора - C++
Почему я не могу вывести вектор на печать? #include&lt;std_lib_facilities.h&gt; class Token { public: char ch; double var; ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
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(); ? я не вижу чтобы их эффект где-то тут использовался.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru