![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
![]()
Здравствуйте!
Изучая означенную тему, пришел к выводу, что в общем то большинство примеров ориентированно на то, что в классе есть методы, которые обеспечивают запись объекта в файл DAT. Есть методы, где подобная запись обеспечивается без таковых методов. Например, код представленный ниже использует Код:
Если у меня поля в классе не чар и для бинарного файла надо как-то всё переводить со стрингов, интов и т.п. Как это сделать без Код:
Код:
|
![]() |
![]() |
![]() |
#2 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,821
|
![]() Цитата:
2. Нет такого понятия, как файл DAT. Есть просто файл, бинарный или нет. Расширение можно выбрать любое. Цитата:
2. Делать более правильно - написать две функции для сериализации и десериализации. В одной записать все или часть полей, во второй прочитать и вызвать конструкторы. |
||
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
![]()
Яснее стало, буду разбираться, спасибо.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
![]()
Здравствуйте!
Столкнулся с одной из методик записи данных в бинарный файл. И вроде всё логично и последовательно и понятно. Да вот только как только попытаешься его выполнить, так сразу ошибка возникает. Причем показывается как исправить ошибку. Исправляешь ошибку как советует визуал, так возникает еще больше ошибок. Зачем же он тогда так советует? Речь о методе fopen и предложении заменить этот метод на fopen_s. На скриншотах хорошо видно. Как правильно сделать такой способ записи в файл? |
![]() |
![]() |
![]() |
#5 |
Программист
Участник клуба
Регистрация: 23.06.2009
Сообщений: 1,772
|
![]()
1) Вот какая сила мешает открыть справку по fopen_s и посмотреть, какие параметры ей надо передавать?
2) Почему Вы выкладываете код картинкой? Мне проще было бы скопировать нужный кусок и поправить его. Да и цветовая гамма Вашей студии мне глаза режет, уж извините 3) Я бы советовал тут наплевать на рекомендации Microsoft, специфические для её продуктов, и поставить Код:
|
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,821
|
![]()
Еще раз повторю: начать читать справку или хотя бы объявления используемых функций.
https://docs.microsoft.com/en-us/cpp...s?view=vs-2017 Цитата:
|
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
![]()
Спасибо за советы, они помогли малость разобраться. В итоге на основе примеров из интернета и кое-каких своих редакций сваял вот такой код.
Код:
Однако возникли вопросы. 1. Зачем в первом примере темы использован Код:
2. Для чего такое многообразие методов записи в файл и чтения из него, к тому же модифицированные (из fopen в fopen_s ) А при чтении из файла я вообще вот так написал и работает Код:
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
если работает, то скорее всего компиляторы могут выдать варнинг о неявном касте.
(type) something это каст из С, в С++ лучше выбрать какой-нибудь из кастов С++.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
#9 | |
Форумчанин
Регистрация: 09.04.2017
Сообщений: 598
|
![]() Цитата:
Честно сказать написанное не понял. Не шибко в терминах горазд пока. Это вот такое? Код:
|
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]()
Ну варнинги зависят от компилятора и настроек.
Qt Creator c Clang и компилятором VS 2017: ![]() Вы не понимаете где тип и где не тип в С касте? (int) number (char*) data static_cast это С++.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запись объекта в файл | Sheffdmb2010 | Общие вопросы C/C++ | 9 | 31.05.2013 19:54 |
Запись объекта в файл | CodeNOT | PHP | 5 | 22.06.2011 13:15 |
Хранение в векторе объектов пользовательского класса | jennya | Visual C++ | 4 | 03.10.2010 19:16 |
[PHP] Запись класса в файл | Ramirag | PHP | 3 | 21.04.2010 00:40 |
Массив эллементов пользовательского класса | windzor | Общие вопросы .NET | 4 | 02.03.2010 19:53 |