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

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

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

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

24.01.2012, 11:13. Просмотров 517. Ответов 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;
}
проблема в том, что в файл выводит не то что надо, а отрицательное целое число, причем одно.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.01.2012, 11:13
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вывод в файл вектора объектов (C++):

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

Добавить вывод в файл и чтение из файла объектов класса - C++
Добавить вывод в файл и чтение из файла объектов класса. Работа должна отображаться на мониторе. Прошу не много подсабить. #include...

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

Записать в бинарный файл массив объектов Student (бинарный файловый ввод/вывод) - C++
Здравствуйте. Стоит задача записать в бинарный файл массив объектов student: class student { string firstname,lastname, group; ...

В программе реализовать возможность записи объектов в файл и чтения объектов из файла - C++
Добрый день, помогите, пожалуйста! У меня есть программа: #include &lt;iostream&gt; #include &lt;locale.h&gt; using namespace std; class...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lemegeton
2924 / 1353 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
24.01.2012, 19:17 #2
Цитата Сообщение от Healius Посмотреть сообщение
#pragma omp parallel sections
Прагмы вызывают опасение. Без них пробовали?
0
Teravisor
31 / 31 / 3
Регистрация: 07.08.2011
Сообщений: 89
24.01.2012, 20:25 #3
А вы проверили, что потоки открылись как надо? Что в них нет ошибок?

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

З.Ы. Можно поинтересоваться, зачем
persons.clear(); и books.clear(); ? я не вижу чтобы их эффект где-то тут использовался.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.01.2012, 20:25
Привет! Вот еще темы с ответами:

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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