Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Russian_Dragon
10 / 11 / 0
Регистрация: 18.02.2012
Сообщений: 140
#1

Запись класса в файл - C++

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

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

2)
fopen_s
fwrite
fread
fclose

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

П.с.
И еще один вопрос: Кто знает где можно почитать о битовом представлении файлов. Т.е. как, например, программы догадываются, что изображение имеет формат jpg, а не png несмотря на расширение.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2012, 06:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Запись класса в файл (C++):

Запись класса в файл - C++
Доброго времени суток! Вот появился тупик, есть базовый класс и производные классы class Figure{ protected: int x,y; ...

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

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

Запись данных класса в файл - C++
Не могу никак разобраться что же я делаю не так. В общем есть написанный элементарный класс ClientData, я хочу записать объект такого типа...

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

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

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

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

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


Не по теме:

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

0
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1306 / 1221 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
12.05.2012, 09:45 #6
Цитата Сообщение от Russian_Dragon Посмотреть сообщение
jpg, а не png
В начале файла (чаще всего) записаны несколько байт, которые идентифицируют формат. Внутреннее представление разных форматов разное и смотреть нужно каждый по отдельности. Например, в википедии.
1
12.05.2012, 09:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.05.2012, 09:45
Привет! Вот еще темы с ответами:

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

Запись в файл данных из обьекта класса - C++
подскажите пожалуйста,как записать данные из обьекта g4 в файл,что-то пытаюсь,но никак не могу понять. строка 181 //#include...

Дописать в файл запись пользовательского класса - C++
Стоит следующая задача - нужно дописать в файл запись пользовательского класса. Есть пользовательский тип: class Hostel { public: ...

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


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

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

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