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

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

Войти
Регистрация
Восстановить пароль
 
GВиталий
0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 2
#1

vector и функция read() из STL - C++

02.06.2011, 14:21. Просмотров 779. Ответов 2
Метки нет (Все метки)

Привет всем, мой первый вопрос на этом форуме...
Вот:
Пишу программу "Список сотрудников", в которой использую vector из библиотеки STL.
Программа предлагает пользователю добавить сотрудника, удалить и т.д. Ну типа базы данных.
Список сотрудников должен храниться в двоичном файле(bin) на жестком диске.
Для этого использую функции write() и read()...
НО, вот:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vector<Sotrudnik> VS; // Объявили вектор(динамический массив)
Sotrudnik S1, S2, S3;//...  // Был создан класс, теперь объявляем объекты
VS.push_back(S1); // Добавили в вектор объект
VS.push_back(S2);
VS.push_back(S3);
ofstream fout("file.bin", ios::binnary); // Для записи в файл
 
for(int i = 0; i < 3; i++) // Цикл записывает объекты в файл
{
fout.write((char*) & VS[i], sizeof(Sotrudnik)); // Та самая функция write()
}
ifstream fin("file.bin", ios::binnary); // Для чтения из файла
 
fin.read((char*) & S1, sizeof(Sotrudnik)); // Функцией read() читаем информацию для объекта S1
// Якобы всё нормально... НО
fin.read((char*) & S2, sizeof(Sotrudnik)); // Читаем для S2, НО как функция read() возмёт из файла 
// нужный объект? Ведь она опять таки возмет первый что в файле...
Может кто делал что-то похожее, объясните пожалуйста, как работает эта read() ......
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.06.2011, 14:21
Я подобрал для вас темы с готовыми решениями и ответами на вопрос vector и функция read() из STL (C++):

vector STL - C++
class data { public: char path; char net; char metric; int number; // для укаания строки таблици }; class vertex

Работа с STL vector - C++
Добрый день! Прошу объяснить следующие моменты связанные с &lt;vector&gt; (почему ругается студия, откуда берутся такие результаты) и дать...

STL vector iterator - C++
есть список в списке... ..точнее: vector &lt;Class1*&gt; mapClass1; а уже в Class1 определён вектор vector &lt;Class2*&gt; mapClass2; ...

STL vector,list - C++
У меня 2 вопроса: 1) можете рассказать,как подробно работает reverse_iterator?Создал вектор,хочу его распечатать в обратном порядке...

STL vector превратить в stack - C++
Всем привет! немогли бы вы помочь с таким заданием по STL :) Построить вектор &quot;колода карт&quot;. превратить вектор в стэк, прежде...

STL обращение к элементу vector - C++
Помогите исправить ошибку. #include &lt;iostream&gt; #include &lt;vector&gt; using namespace std; class otschet { public: double...

2
gooseim
Эксперт С++
510 / 414 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
02.06.2011, 14:23 #2
Цитата Сообщение от GВиталий Посмотреть сообщение
Ведь она опять таки возмет первый что в файле...
Нет, она возьмет следующий. Указатель файла при чтении смещается.
1
ForEveR
В астрале
Эксперт С++
7989 / 4748 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
02.06.2011, 15:27 #3
GВиталий, Для таких вещей посоветовал бы использовать boost::serialization...
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.06.2011, 15:27
Привет! Вот еще темы с ответами:

Stl vector, не резервирует память - C++
vector не резервирует память и не вставляет элемент std::vector&lt;int&gt; myVector; myVector.reserve(10); ...

Stl vector как массив - C++
Есть функция принимающая указатель на массив и его длину и копирующая его в другой массив определенный указателем. void SetMass(float...

Обработка STL контейнера vector - C++
Текст дан в виде вектора. Отсортировать элементы этого вектора и превратить на два списка так, чтобы в первом были только те элементы,...

STL vector index operator - C++
что такое индекс оператор у контейнера вектор ??? по заданию надо задать доступ к произвольному элементу у в вектору использую индекс...


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

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

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