Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

В чем разница между форматированным вводом/выводом и не форматированным?

An1Byte Мудрец (10841), закрыт 6 лет назад
Вменяемого ответа не нашел к сожалению))) Я знаю существует узкий 1 байтовый и широкий 2 байтовый формат символов. Я так понимаю НЕ форматированный ввод/вывод это символы существующие в ASCII таблице? Можете дать какое то определение?.. И, направленный вопрос, почему я и интересуюсь...
Не понимание вышеописанного я не увидел разницы между работы с файлом в бинарном режиме и обычном.
Перепробовал почти все операции - ведут себя одинаково...
Лучший ответ
Алекс Куха Высший разум (466022) 6 лет назад
Форматы равнозначны. Различие до примитивности простое.
- форматированным принято считать i/o файла, для которого применяется преобразование из символьного типа по заданному правилу
- альтернативный i/o тоже форматированный, но формат задаётся типом элемента. Отсутствует преобразование. binary короче (если длина > 1) и, соответственно, быстрее (для некешированного файла)

Разница в обработке последовательности 0d 0a, что естественно. Как следствие для варианта a) появляются команды readline(writeline), которые отрабатывают некорректно для варианта б)
В остальном действительно, различий не только нет, но и быть не может

Что считается форматом "обычным" и почему, обычный для кого? Мне символьные файлы реже встречаются
An1ByteМудрец (10841) 6 лет назад
Хммм, ну приблизительно понял. Иначе говоря бинарному все равно что в файле например и на каком языке, он просто скопирует значения битов и передаст в буфер. ну условно говоря))))
Получается чисто теоритически бинари должен работать существенно быстрее?)))
Алекс Куха Высший разум (466022) это не теория, а самая что ни на есть практика. Ещё быстрее работает чтение/запись сжатых данных
Остальные ответы
Ярослав Искусственный Интеллект (107883) 6 лет назад
Под форматированным выводом обычно понимается вид (представление) текстовой информации, а не ее кодировка.
Например, вывод вещественных чисел с n знаками после разделителя, или табуляция/паддинг подстрок пробелами, или добавление разделителей и кавычек (CSV-строки), и т. д. - все это форматирование вывода.
The Cat Искусственный Интеллект (116174) 6 лет назад
Неформатированный -- весь абзац в одну длинную строку.
Форматированный -- абзац разбивается на несколько строк определённой ширины.
An1ByteМудрец (10841) 6 лет назад
ну получается набор двоичной последовательности.... так как в двоичной системе перенос строики все равно имеет свое значение то можно представить что весь файл это 1 строка
из 16 ричных элементов...
Алекс Куха Высший разум (466022) Если вы попытаетесь прочитать readline из файла без 0d0a, вот не знаю. По идее получим eof error
An1ByteМудрец (10841) 6 лет назад
вроде, как то примерно так?
данил тушев Гуру (3872) 6 лет назад
Для компьютерной логики все просто, 0 | 1, все файлы ими заполняются, для человека же доступно понимание этих бинарных разрядов в нескольких вариациях и количестве, например: открыли файл текстовым редактором а там восемь "кракозябр", это запись 64-битного числа или 2-х 32-битных или 4-х 16-битных или просто кто то записал 8 "кракозябр"-символов типа char или uint8_t(расширенный ascii), а насчет открытия файла в бинарном режиме (на С), я не могу дать, определения, сам еще не сталкивался с такой проблемой, зачем открывать файл в бинарном режиме если система просто не сможет открыть его в каком либо другом представлении, другое дело как представлять эти символы себе на забаву, это уж модификаторы функции printf, точнее аргументы
Похожие вопросы