Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|||||||||||||||||||||
1 | |||||||||||||||||||||
Запись и чтение структуры с файла29.01.2014, 01:03. Показов 4983. Ответов 18
Метки нет (Все метки)
Привет всем.Столкнулся с проблема записи структуры в файл и чтения ее из файла.Вот сама структура:
Как я только не пробовал сделать,ничего не получается. Странно,если сделать так,что будет запись и чтение структуры в одной программе,то все работает!Вот как то так:
Так вот вопрос:Помогите сделать?)И объясните в чем у меня трабл)
0
|
29.01.2014, 01:03 | |
Ответы с готовыми решениями:
18
Запись и чтение структуры из файла Запись структуры и её чтение из файла Запись и чтение структуры в/из файла Запись и чтение структуры из бинарного файла |
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
29.01.2014, 02:34 [ТС] | 3 |
какие классы?а как сделать тогда?
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|||||||||||
29.01.2014, 03:17 | 4 | ||||||||||
В данном случае, vector <string>.
В текстовом режиме. Добавлено через 9 минут Как-то так:
Класс надуман. Если там один вектор, то зачем такой класс нужен? Можно просто вектор использовать. Добавлено через 9 минут
2
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
29.01.2014, 22:03 [ТС] | 5 |
Не подходит твой вариант.Я тут предоставил насколько можно сокращенный код моей программы.На самом деле у меня структура довольно большая(около 9 полей),поэтому мне нужно в файл записывать сразу объект структуры.Текстовой режим использовать не вариант,нужно только бинарный
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
||||||
29.01.2014, 22:54 | 6 | |||||
Бинарный режим(без сериапизации), с такими полями (в частности, string) нормально работать не будет.
Добавлено через 9 минут Чтобы понятно было. Когда делатеся, в main() вот такое объявление:
1
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
30.01.2014, 00:21 [ТС] | 7 |
хорошо,понял)
Но реально хоть как-нибудь реализовать,то что я хочу?)как с помощью сериализации это осуществить?Я просто ниразу с этим не сталкивался...
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
30.01.2014, 00:44 | 8 |
Serialization: http://en.highscore.de/cpp/boost/
Добавлено через 1 минуту Но советую не мучиться, а делать в текстовом режиме. То что там девять полей, это ничего не значит. Можно перегрузиить операторы чтения\записи для структуры, и делать всё одной строкой.
0
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
30.01.2014, 22:58 [ТС] | 9 |
все таки мне нужно в бинарном виде записывать структуру(
вы не подскажете маленький примерчик с сериализацией?чтобы я его воплотил в жизнь)
0
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
31.01.2014, 00:28 [ТС] | 11 |
там же текстовой режим...мне нужен бинарный)
0
|
gromo
|
31.01.2014, 00:44
#13
|
0
|
0 / 0 / 1
Регистрация: 23.01.2014
Сообщений: 10
|
|
31.01.2014, 00:54 | 14 |
Сори за оффтоп, но не подскажете как? Я создал вектор, содержащий структуру с разными данными, записал данные структур в файл, но считать не могу...
0
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
31.01.2014, 02:03 [ТС] | 16 |
ну даже для того чтобы файл не могли прочитать с помощью простого текстового редактора)
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
31.01.2014, 02:33 | 17 |
Если пишите текст (строки текста), то неважно в каком режиме их запишите, в бинарном или текстовом, в текстовом редакторе они всё равно будут видны как текст, потому что и в текстовом режиме, и в бинарном, пишутся коды (байты) символов.
Ещё причины?
0
|
Каждому свое
533 / 219 / 81
Регистрация: 05.08.2013
Сообщений: 1,614
|
|
31.01.2014, 22:08 [ТС] | 18 |
Тогда по идее причин нет,но наворачивается два вопроса:
1.зачем нужен тогда бинарный режим вообще,если есть текстовой? 2.при записи структуры в файл в текстовом режиме,мне разделитель между полями и элементами vector'а нужно самому придумать?или как сделать,чтобы это все менее затратно было?
0
|
5498 / 4893 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
|
|
31.01.2014, 22:19 | 19 |
Сообщение было отмечено Bretbas как решение
Решение
4 пост.
Читайте литературу. В некоторых источниках, файлы, записанные в бинарном режиме, называют файлами произвольного доступа, а файлы, записанные в текстовом режиме - файлами последовательного доступа.
0
|
31.01.2014, 22:19 | |
31.01.2014, 22:19 | |
Помогаю со студенческими работами здесь
19
Запись/чтение вектора в/из файла.Структуры Чтение структуры из файла и запись нового Чтение структуры из файла и запись нового - C++ Запись структуры и чтение из файла в структуру ( как бы лучше ) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |