27 / 19 / 10
Регистрация: 10.02.2016
Сообщений: 236
|
||||||
1 | ||||||
Двоичный вывод в файл13.03.2016, 17:09. Показов 1823. Ответов 11
Метки нет (Все метки)
Пишу программу для выводы объектов в файл в двоичном виде:
Добавлено через 47 минут Плюс ещё хочу спросить зачем нужен reinterpret_cast?
0
|
13.03.2016, 17:09 | |
Ответы с готовыми решениями:
11
Двоичный ввод/вывод в файл Текстовый файл перевести в двоичный, а потом полученный двоичный файл перевести обратно в текстовый Задан текстовый файл, необходимо по нему сформировать двоичный файл индексов Создать текстовый файл и записать в двоичный файл |
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
|
|
13.03.2016, 19:47 | 2 |
После записи, перед переходом к чтению, нужно буфер сбросить (flush()), чтобы записанные данные попали в файл.
Этот-то откуда берётся? В смысле?
1
|
Вездепух
12794 / 6671 / 1795
Регистрация: 18.10.2014
Сообщений: 16,890
|
|
13.03.2016, 19:58 | 3 |
Что такое "содержание сильно отличается от двоичного кода"? Как по-вашему должен выглядеть файл с "двоичным кодом" внутри и чем ваши файлы отличаются от этого?
1
|
27 / 19 / 10
Регистрация: 10.02.2016
Сообщений: 236
|
|
13.03.2016, 20:03 [ТС] | 4 |
Не знаю откуда, думал подскажете
Ну например заношу данные, записываем в файл 2 объекта, пусть будут 1 - 10, одинаковые. во что содержат файлы GROUP.DAT: A A gmot.out: @ ґH zч y d юяяяґю" Ђ|A Добавлено через 44 секунды думаю должен выглядеть как набор нулей и единиц
0
|
6510 / 4086 / 1606
Регистрация: 09.05.2015
Сообщений: 9,553
|
|
13.03.2016, 20:08 | 5 |
Ну это смотря как вы этот файл смотрите. Для компьютера любой файл это набор нулей и единиц, а вот для человека можно этот набор представить различными способами... Судя по всему вы пытаетесь его посмотреть как текстовый файл, соответственно и видите текст...
1
|
Вездепух
12794 / 6671 / 1795
Регистрация: 18.10.2014
Сообщений: 16,890
|
|
13.03.2016, 20:14 | 6 |
Файл не может никак "выглядеть". Файл - это некая запись на некоем носителе. В общем случае на эту запись невозможно "посмотреть".
А смотреть вы можете только на некое визуальное представление фала, сделанное некоей посторонней программой-просмотрщиком. Она покажет вам файл в том виде, в которым вы попросите. Попросите показывать, как набор нулей и единиц - будет показывать набор нулей и единиц. Попросите показывать, как набор шестнадцатеричных значений - будет показывать набор шестнадцатеричных значений. Попросите показывать, как текст - будет показывать как текст. Вы как попросили? Вы, очевидно, попросили некую программу-просмотрщик показать вам ваш файл, как текст. Разумеется, вы увидели там некие бессмысленные символы да кракозябры. Перестаньте заниматься ерундой, т.е. пытаться просматривать бинарный файл как текст. Возьмите программу-просмотрщик, которая умеет показывать содержимое файла в бинарном виде - и вы увидите ваши нули и единицы.
1
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
|
|
13.03.2016, 20:37 | 7 |
Это какой-то левый, не из этого кода.
Так твой файл выглядит в hex-редакторе. Первые четыре байта - int, вторые четыре байта - float, то же самое во второй строке (в файле никаких строк нет, это редактор так выводит). Так как код 0x41 - это код 'A', то, в текстовом редакторе, байт с этим значением будет виден как 'A'.
1
|
27 / 19 / 10
Регистрация: 10.02.2016
Сообщений: 236
|
|
13.03.2016, 21:55 [ТС] | 8 |
Спасибо! понял.
Подскажите пожалуйста по поводу reinterpret_cast. Я взял запись из примера. Его нужно использовать просто, чтобы можно было использовать write() и read()?
0
|
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
|
|
13.03.2016, 22:13 | 9 |
Да.
Добавлено через 1 минуту http://www.cplusplus.com/refer... eam/write/ http://www.cplusplus.com/refer... ream/read/
1
|
27 / 19 / 10
Регистрация: 10.02.2016
Сообщений: 236
|
|
13.03.2016, 22:21 [ТС] | 10 |
Спасибо, я там уже смотрел, я также прочитал, что reinterpret_cast нужно использовать в крайнем случае, почему?
0
|
27 / 19 / 10
Регистрация: 10.02.2016
Сообщений: 236
|
|
14.03.2016, 10:54 [ТС] | 12 |
0
|
14.03.2016, 10:54 | |
14.03.2016, 10:54 | |
Помогаю со студенческими работами здесь
12
Заменить в программе, переводящую строку в двоичный код, консольный ввод/вывод на файловый ввод/вывод Двоичный ввод-вывод Двоичный файл двоичный файл Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |