0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 32
|
|
1 | |
Бинарные файлы03.05.2011, 08:37. Показов 75383. Ответов 10
Метки нет (Все метки)
0
|
03.05.2011, 08:37 | |
Ответы с готовыми решениями:
10
Бинарные файлы Бинарные файлы Бинарные файлы Бинарные файлы.. |
5 / 5 / 3
Регистрация: 06.12.2010
Сообщений: 50
|
|
03.05.2011, 09:18 | 2 |
Если у тебя есть конкретный вопрос можешь спрашивать, если ты просишь решить за тебя то сомневаюсь что кто нибудь станет за тебя это делать
0
|
1069 / 848 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
|
||||||||||||||||||||||||||
03.05.2011, 09:40 | 3 | |||||||||||||||||||||||||
Сообщение было отмечено как решение
Решение
Ликбез по двоичным файлам:
Обычно различают текстовые и двоичные файлы. Текстовые файлы состоят из строк, которые завершаются символом конца строки. В программе на С++ этот символ обозначается как '\n'. ПРИМЕЧАНИЕ В системе Windows строки в текстовом файле завершаются комбинацией двух байтов 0x0D0A, поэтому при операциях ввода-вывода система выполняет преобразование. Обычно операции обмена с текстовым файлом сопровождаются преобразованием информации аналогично тому, как это происходит для стандартных потоков. По нашей классификации, приведенной в начале главы, текстовые файлы являются форматируемыми. Форматирование не выполняется только в том случае, если содержимое текстового файла обрабатывается именно как символы и строки. Двоичные файлы не разбиваются на строки, и никаких преобразований при обмене не выполняется — двоичные файлы не являются форматируемыми. Это, во-первых, означает, что операции обмена для двоичных файлов выполняются быстрее. Во-вторых, при операции записи в двоичный файл попадает ровно столько байтов, сколько записываемый объект занимает в памяти. Например, целое число, записанное в двоичный файл, займет на диске sizeof(int) байтов. Это существенно отличается от записи в текстовый файл, где количество записываемых по умолчанию символов зависит от величины числа. Например, число 12 в текстовом файле займет 2 или 3 байта (в зависимости от того, выводится ли число со знаком или без него), а 123 456 — 6 или 7 байт. Примером двоичного файла является исполняемый файл (с расширением exe). Теперь легко написать программы обработки двоичных файлов. В первом примере мы создаем два двоичных файла из одного массива (листинг 14.7). Для сохранения двоичных файлов нужно создать на диске C каталог BinFiles.
Затем те же файлы открываются как входные, читаются и выводятся на экран. Сначала открывается файл oonumber2.bin (в который мы писали массив целиком), и чтение из него выполняется по одному числу. Нетрудно вместо вывода на экран выполнять в цикле, например, суммирование чисел, записанных в этот файл. Первый файл oonumber1.bin, который записывался в цикле по одному числу, читается сразу целиком в массив t одним оператором, и поток тут же закрывается. И снова мы наблюдаем на экране, что чтение выполнено совершенно правильно. Такое «смешение» для двоичных файлов безопасно, так как и в памяти, и на диске размеры данных равны sizeof(тип) * n, где n — количество элементов, участвующих в обмене. Копирование и дозапись двоичных файлов можно выполнить той же функцией filecopy() (см. листинг 14.4), открыв потоки как двоичные, например:
Напишем программу сравнения двоичных файлов, чтобы убедиться, что файл oonumber2.bin совпадает с исходным файлом oonumber1.bin. Реализуем эту операцию в виде функции сравнения filecompare():
- true, если файлы идентичны; - false, если файлы различаются. Нам достаточно сравнить файлы побайтно, выдав значение false при первом различии:
Files are equals! Между прочим, эта же функция сравнения прекрасно работает с любыми текстовыми файлами, поскольку ввод информации осуществляется посимвольно.
23
|
kazak
|
03.05.2011, 13:09
#4
|
2
|
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 13
|
|
01.08.2011, 12:21 | 6 |
А может кто то скажет какие символы используются для хранения например исполняемых файлов (весь Unicode или ASCII или д.) ???
0
|
3570 / 2717 / 348
Регистрация: 11.03.2009
Сообщений: 6,254
|
|
01.08.2011, 12:29 | 7 |
Вся информация в компьютере хранится в цифровом виде, конкретно в двоичном.
0
|
0 / 0 / 0
Регистрация: 13.01.2011
Сообщений: 13
|
|
02.08.2011, 00:02 | 8 |
Я имел ввиду когда открываешь какой то .ехе файл с помощью текстового редактора там видно символы. Кодировка этих смволов??7
0
|
385 / 229 / 12
Регистрация: 06.07.2011
Сообщений: 512
|
|
02.08.2011, 00:08 | 9 |
такая, какая выставлена в твоем редакторе.
0
|
02.08.2011, 00:58 | 10 |
Та "кодировка" о которой вы говорите имеет смысл только в отношении текста. Утрировано говоря это таблица преобразования из кодов в "представление" той или иной буквы/символа.. В текстовом файле хранятся коды символов, эти коды используются как индексы втаблице преобразования. И пеуже при выводе на консоль компьютер знает как рисовать тот или иной символ. Если у компьтера в распоряжении окажется другая "таблица" символов. То вы на экране увидите абракатабру. Соответственно говорить о "кодировке" бинарного файла нет ни какого смысла. Для примера:
1 бинарный файл. Сохраняем значение переменной типа int. (Пусть она будет равна 0). В файле будет записано четыре (с оговоркой на архитектуру) байта: 00 00 00 00. 2. Запишем это же значение в текстовый файл - всего один байт: 30 Другое дело ,что в бинарном файле могут содержаться и текстовые значение. Этот текст может оказаться в любой кодировке.
0
|
0 / 0 / 0
Регистрация: 10.04.2015
Сообщений: 20
|
||||||
10.04.2015, 07:06 | 11 | |||||
Здравствуйте,
сейчас разбираюсь в бинарных файлах,приведен такой пример решения задачи, программа работает правильно, но не было комментариев и подробного листинга : Создать файл вещественных чисел, записать в него матрицу вещественных чисел А размерности n * n . Не считывая матрицу в память, реорганизовать файл путем замены элементов побочной диагонали на элементы последнего столбца матрицы. Вывести на печать исходную и полученную матрицы. Печать матриц оформить в виде функции
не могу разобраться как работает программа, открыли файл, создали матрицу, а каким образом происходит реорганизация матрицы путем замены элементов побочной диагонали на элементы последнего столбца матрицы? как алгоритм работает? Заранее спасибо за помощь
0
|
10.04.2015, 07:06 | |
10.04.2015, 07:06 | |
Помогаю со студенческими работами здесь
11
Бинарные файлы С++ бинарные файлы Бинарные файлы в С++ Бинарные файлы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи | |||||
Как выполнить другую программу или системную команду из Python
InfoMaster 20.01.2025
Python предоставляет мощные инструменты для выполнения системных команд и управления внешними процессами, что делает его идеальным выбором для автоматизации различных задач системного. . .
|
Как узнать директорию bash-скрипта из самого bash-скрипта
InfoMaster 20.01.2025
При разработке bash-скриптов одной из важных задач является определение директории, в которой находится исполняемый скрипт. Это критически важно для корректной работы с файлами, загрузки конфигураций. . .
|
В чем разница между let и var в JavaScript
InfoMaster 20.01.2025
JavaScript прошел длинный путь эволюции с момента своего создания в 1995 году. Одним из важнейших аспектов развития языка стало совершенствование механизмов объявления и управления переменными. . . .
|
Эффективная работа со строками в Go
InfoMaster 20.01.2025
Язык программирования Go предлагает уникальный подход к работе со строками, который существенно отличается от многих других языков программирования. В Go строки представляют собой неизменяемые. . .
|
Как проверить, что отображение (map) содержит ключ в Go
InfoMaster 20.01.2025
Отображения (maps) в языке программирования Go представляют собой мощные структуры данных, которые позволяют хранить пары ключ-значение и обеспечивают быстрый доступ к данным по уникальным. . .
|
Как организовать домашнее хранилище фильмов с общим доступом для всей семьи
InfoMaster 20.01.2025
Преимущества домашнего медиасервера
В современном мире, где цифровой контент стал неотъемлемой частью нашей жизни, организация домашнего медиасервера становится все более актуальной задачей. . . .
|
Перспективы развития жестких дисков: есть ли у них будущее?
InfoMaster 20.01.2025
История и эволюция жестких дисков
История развития жестких дисков начинается в 1956 году, когда компания IBM представила первое устройство для хранения данных на магнитных пластинах - IBM 350. . .
|
Распознавание изображений (компьютерное зрение) на C++
InfoMaster 20.01.2025
Введение в компьютерное зрение и основы работы с изображениями
Компьютерное зрение представляет собой одну из наиболее динамично развивающихся областей информационных технологий, позволяющую. . .
|
Какой язык программирования лучший для разработки нейронных сетей
InfoMaster 20.01.2025
В современном мире технологий искусственные нейронные сети становятся неотъемлемой частью множества инновационных решений, от распознавания речи до автоматического управления транспортными. . .
|
Как подключить JavaScript файл в другом JavaScript файле
InfoMaster 20.01.2025
В современной веб-разработке организация кодовой базы играет ключевую роль в создании масштабируемых и поддерживаемых приложений. Модульность и правильное структурирование кода стали неотъемлемыми. . .
|
Как откатить изменения в исходниках, не внесенные в Git
InfoMaster 20.01.2025
При работе с системой контроля версий Git разработчики часто сталкиваются с необходимостью отменить внесенные изменения в исходном коде. Особенно актуальной становится ситуация, когда изменения еще. . .
|
В чем разница между px, in, mm, pt, dip, dp, sp
InfoMaster 20.01.2025
В мире цифрового дизайна и разработки интерфейсов правильный выбор единиц измерения играет ключевую роль в создании качественного пользовательского опыта. История развития систем измерений для. . .
|