|
16 / 3 / 0
Регистрация: 19.11.2009
Сообщений: 21
|
|
Двоичный ввод-вывод25.05.2011, 00:37. Показов 5024. Ответов 10
Метки нет (Все метки)
Здравствуйте!
Разбираюсь с вводом-выводом из файла и наткнулась на такую ситуацию. Ввожу объекты разных классов в разброс в файл с помощью write, после чего хочу вывести содержимое всего файла. Но нужно знать объект какого класса я вывожу, чтобы использовать read. Мне нужно проверить первый символ блока данных (то есть объекта) - проверяю с помощью get. Но оно проверяет что-то не то. Вопрос: write-read работают с бинарными файлами, то есть get я не могу использовать? И если я get не могу использовать, то как мне совершить проверку первого символа объекта? Спасибо, жду ответа.
0
|
|
| 25.05.2011, 00:37 | |
|
Ответы с готовыми решениями:
10
Заменить в программе, переводящую строку в двоичный код, консольный ввод/вывод на файловый ввод/вывод Двоичный ввод/вывод в файл Ввод динамической структуры и занесение её в двоичный файл |
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 25.05.2011, 01:13 | ||||||
|
streambuf::sgetc например.
Добавлено через 14 минут Примерный вариант написанный на коленке.
1
|
||||||
|
16 / 3 / 0
Регистрация: 19.11.2009
Сообщений: 21
|
||||||
| 25.05.2011, 01:16 [ТС] | ||||||
не понимаю, что я неправильно делаю
0
|
||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 25.05.2011, 01:20 | |
|
an4o, В файл надеюсь не русским пишете?)
1
|
|
|
16 / 3 / 0
Регистрация: 19.11.2009
Сообщений: 21
|
|
| 25.05.2011, 01:24 [ТС] | |
|
Нет, конечно, если проверяю с помощью read - выводит все верно.
А по символу - что-то непонятное.
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|||||||||||
| 25.05.2011, 08:37 | |||||||||||
1
|
|||||||||||
|
16 / 3 / 0
Регистрация: 19.11.2009
Сообщений: 21
|
|
| 26.05.2011, 01:25 [ТС] | |
|
Появилась новая проблема. Создаю объект и записываю его в файл через одну функцию:
mammal obj(m_s, t_s, s, vod, r, d, v); file_mammal.write(reinterpret_cast<char* >(&obj), sizeof(mammal)); После удаляется объект. Потом из другой функции создаю объект и пытаюсь его считать из файла: mammal obj(m_s, t_s, s, vod, r, d, v); file_mammal.read(reinterpret_cast<char*> (&obj), sizeof(mammal)); Ошибка. Может у меня нет связи между этими объектами? Помогите, кто может. Добавлено через 4 часа 34 минуты Может все дело в сериализации? Кто в этом разбирается, помогите! http://wiki.shelek.ru/index.ph... ция_данных
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
| 26.05.2011, 02:19 | ||||||
1
|
||||||
|
16 / 3 / 0
Регистрация: 19.11.2009
Сообщений: 21
|
|
| 26.05.2011, 03:00 [ТС] | |
|
а как тогда можно записать? в каком направлении смотреть?
0
|
|
|
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
| 26.05.2011, 04:22 | |
|
берёшь объект передаёшь его в свою функцию, которая выдаёт данные, пригодные для записи
берёшь данные, передаешь их в свою функцию, которая заполняет объект в соответствии с ними например, в объекте были переменные int a = 1 и double b = 0.5 передаёшь объект в функцию, которая возвращает массив символов "int:1;double:0.5" сохраняешь в файл этот массив читаешь данные из файла, получил строку "int:2;double:4.0" передаёшь строку в функцию, которая в объект записывает obj.a = 2; obj.b=4.0 это самодельная сериализация цель - получить такой набор функций, которые будут на любой системе правильно сохранять объекты и правильно их восстанавливать
1
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 26.05.2011, 09:10 | |
|
Или используй boost::serealization к примеру.
1
|
|
| 26.05.2011, 09:10 | |
|
Помогаю со студенческими работами здесь
11
Поменять консольный ввод-вывод на файловый ввод-вывод Двоичный вывод в файл
Двоичный вывод (алгоритм Шеннона Фано) Файловый ввод-вывод, ввод с клавиатуры и обработка массива структур Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|