Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
10 / 11 / 2
Регистрация: 18.02.2012
Сообщений: 140
1

Запись класса в файл

12.05.2012, 06:39. Просмотров 1291. Ответов 5
Метки нет (Все метки)

Приветствую.
Я хочу записать битовую форму класса, но столкнулся с делемой.
Насколько мне известно, есть две группы функций записи битов в файл:
1)
_wsopen_s
_read
_write
_filelength
_tell
_lseek
_chsize
_close

2)
fopen_s
fwrite
fread
fclose

Кто знает в чем разница? И что лучше использовать.

П.с.
И еще один вопрос: Кто знает где можно почитать о битовом представлении файлов. Т.е. как, например, программы догадываются, что изображение имеет формат jpg, а не png несмотря на расширение.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2012, 06:39
Ответы с готовыми решениями:

Запись класса в файл
Доброго времени суток! Вот появился тупик, есть базовый класс и производные классы class Figure{...

Запись в файл объекта класса
class Object { private: int myN; std::vector<std::string> myLines; public: ...

Запись объекта класса в файл
Здравствуйте, может кто-нибудь помочь с данным вопросом? Как мне записать в файл строку, которая...

Запись в файл объекта класса
Добрый вечер,предположим есть подобный класс,с полями : const SIZE = 10; class myClass { ...

5
Делаю внезапно и красиво
Эксперт С++
1309 / 1224 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
12.05.2012, 08:39 2
Раз используются классы, то лучше использовать fstream. Это типа третьей группы.
0
10 / 11 / 2
Регистрация: 18.02.2012
Сообщений: 140
12.05.2012, 08:43  [ТС] 3
Цитата Сообщение от Deviaphan Посмотреть сообщение
Раз используются классы, то лучше использовать fstream. Это типа третьей группы.
3)
ifstream ifs
ifs.open
ifs.fail
ifs.eof
<<
>>
ifs.close

Мне такой вариант совсем не нравиться, т.к. неудобно писать туда биты, только стразу целые переменные. Выше приведенные функции, гораздо удобнее отношении побитовой записи.
0
Делаю внезапно и красиво
Эксперт С++
1309 / 1224 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
12.05.2012, 08:57 4
Цитата Сообщение от Russian_Dragon Посмотреть сообщение
т.к. неудобно писать туда биты, только стразу целые переменные
Операторы << и >> нельзя использовать при двоичной записи в файл, поэтому нужно использовать те же ifstream.read и ofstream.write.
Ни в одном из трёх вариантов нельзя записывать биты, только байты можно.
1
10 / 11 / 2
Регистрация: 18.02.2012
Сообщений: 140
12.05.2012, 09:06  [ТС] 5
Цитата Сообщение от Deviaphan Посмотреть сообщение
Операторы << и >> нельзя использовать при двоичной записи в файл, поэтому нужно использовать те же ifstream.read и ofstream.write.
Хорошо, спасибо, попробуем с этим вариантом поиграть.

Цитата Сообщение от Deviaphan Посмотреть сообщение
Ни в одном из трёх вариантов нельзя записывать биты, только байты можно.
ну, да, байты.


Не по теме:

Но вопрос, про форматы файлов, пока открыт:
Кто знает где можно почитать о битовом представлении файлов. Т.е. как, например, программы догадываются, что изображение имеет формат jpg, а не png несмотря на расширение.

0
Делаю внезапно и красиво
Эксперт С++
1309 / 1224 / 72
Регистрация: 22.03.2011
Сообщений: 3,744
12.05.2012, 09:45 6
Цитата Сообщение от Russian_Dragon Посмотреть сообщение
jpg, а не png
В начале файла (чаще всего) записаны несколько байт, которые идентифицируют формат. Внутреннее представление разных форматов разное и смотреть нужно каждый по отдельности. Например, в википедии.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2012, 09:45

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Запись объекта класса в файл
Доброго времени суток! нужно сохранить объект вот такого класса: class Act { public: ...

Запись в файл шаблонного класса
Как можно перегрузить ifstream чтобы записать файл шаблонный массив. Подскажите пожалуйста

Запись экземпляра класса в файл
есть класс _matrix.Я выполняю некии действия с объектом этого класса,а потом записываю этот объект...

Запись класса в двоичный файл
Добрый день дорогие друзья. никак не могу осуществить запись\чтение класса в двоичный файл. в...


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

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

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