0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 21
1

Запись объектов в файл

23.03.2015, 21:47. Показов 906. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пишу сейчас 2д игру на С++, нужно сделать таблицу рекордов, думаю сделать какую нибудь структуру или же клас отсюда и вопрос как тот же клас или структуру в файл записать, или может есть какие-то другие идеи вариантов реализации рекордов. Заранее спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.03.2015, 21:47
Ответы с готовыми решениями:

Запись объектов в файл
Существует класс #include <string> #include <iostream> using namespace std; #pragma once...

Запись объектов в файл
Как в с++ реализовать запись масива класов в файл?

Запись объектов в файл
Могут ли возникнуть проблемы при считывании объекта (функцией read), если перед этим в файл были...

Запись в файл массива объектов
уже 3 часа мучаюсь, не могу записать у файл массив обьектов. у меня есть Redactor...

13
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
23.03.2015, 21:55 2
Цитата Сообщение от floor114 Посмотреть сообщение
отсюда и вопрос как тот же клас или структуру в файл записать
Зависит от того, что из себя представляют поля класса (или структуры).
0
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 21
23.03.2015, 22:01  [ТС] 3
Цитата Сообщение от lss Посмотреть сообщение
Зависит от того, что из себя представляют поля класса (или структуры).
ну допустим имя игрока и его рекодр
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.03.2015, 22:10 4
Цитата Сообщение от floor114 Посмотреть сообщение
как тот же клас или структуру в файл записать,
Я бы использовал boost/serialization и сериализовывал бы в xml.
А если вариант по проще - перегружать операторы в\в относительно твоей структуры.
1
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 21
23.03.2015, 22:14  [ТС] 5
Цитата Сообщение от Avazart Посмотреть сообщение
Я бы использовал boost/serialization и сериализовывал бы в xml
а пример или ссылочку какую-то можно?
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
23.03.2015, 22:14 6
Цитата Сообщение от floor114 Посмотреть сообщение
ну допустим имя игрока и его рекодр
Тип данных какой?
0
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 21
23.03.2015, 22:18  [ТС] 7
Цитата Сообщение от lss Посмотреть сообщение
Тип данных какой?
C++
1
2
3
4
5
6
class Records
{
private:
    char name[40];
    int step;
};
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.03.2015, 22:24 8
Цитата Сообщение от floor114 Посмотреть сообщение
а пример или ссылочку какую-то можно?
Boost_serialization

Добавлено через 4 минуты
Цитата Сообщение от floor114 Посмотреть сообщение
C++
1
2
3
4
5
6
class Records
{
private:
char name[40];
int step;
};
В данном случае можно и в двоичном виде записывать в файл.
0
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 21
23.03.2015, 22:33  [ТС] 9
Цитата Сообщение от Avazart Посмотреть сообщение
Boost_serialization

Добавлено через 4 минуты

В данном случае можно и в двоичном виде записывать в файл.
в идеале у меня должен быть масив етих класов

Добавлено через 5 минут
Цитата Сообщение от Avazart Посмотреть сообщение
Boost_serialization

Добавлено через 4 минуты

В данном случае можно и в двоичном виде записывать в файл.
а в двоичном виде в файл как записывать?
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
23.03.2015, 22:41 10
Цитата Сообщение от floor114 Посмотреть сообщение
а в двоичном виде в файл как записывать?
C++
1
2
3
4
Records rec;
// заполнить rec
ofstream fout("file.bin", ios::binary);
fout.write((const char*)&rec, sizeof(rec));
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.03.2015, 22:44 11
Цитата Сообщение от floor114 Посмотреть сообщение
в идеале у меня должен быть масив етих класов
C++
1
2
3
4
5
6
7
8
Records rec;
std::vector<Records> vr;
vr.push_back(rec);
 
// ...
 
ofstream fout("file.bin", ios::binary);
fout.write((const char*)&vr[0], sizeof(Records)*vr.size());
0
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 21
23.03.2015, 22:58  [ТС] 12
Цитата Сообщение от Avazart Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
Records rec;
std::vector<Records> vr;
vr.push_back(rec);
 
// ...
 
ofstream fout("file.bin", ios::binary);
fout.write((const char*)&vr[0], sizeof(Records)*vr.size());
а как поступить с масивом класов?
в цикле вставлять их в вектор а потом опять циклом все с вектора записывать в файл?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.03.2015, 23:04 13
Цитата Сообщение от floor114 Посмотреть сообщение
а как поступить с масивом класов?
А зачем вам массив когда есть вектор?
0
0 / 0 / 0
Регистрация: 11.10.2014
Сообщений: 21
23.03.2015, 23:14  [ТС] 14
Цитата Сообщение от Avazart Посмотреть сообщение
А зачем вам массив когда есть вектор?
я уже совсем запутался, мозги вскипают.
У меня должно получится что-то вроде програма запускается с файла считываются ети рекорды(он может быть не один), после того как игрок сыграл игру проверять его результат и результаты с только что считаного файла и заменять их если результат игрока больше.
как ето осуществить векторами я не совсем понимаю
0
23.03.2015, 23:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.03.2015, 23:14
Помогаю со студенческими работами здесь

Запись объектов в файл и чтение
#include &lt;fstream.h&gt; #include &lt;iostream.h&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; class my {...

Запись в файл объектов структуры TrainInfo
Программа записывает в файл объекты структуры TrainInfo. Если нужно выводит нужный поезд. При...

Запись и чтение динамических объектов в файл
Как быть, че делать? Особенно при чтение файла, ведь неизвестно какого он размера. И как бы все это...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru