Главная » Просмотр файлов » Искусство программирования на Си

Искусство программирования на Си (984073), страница 18

Файл №984073 Искусство программирования на Си (Искусство программирования на Си) 18 страницаИскусство программирования на Си (984073) страница 182015-07-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 18)

Запись и чтение данных контейнера 5(гцс( Солта(пег как двоичнык данных. соита1аег->сарас1Су, котором булут сохраняться величины, состояшис из сопсахиег->со1оиг, многих байтов. В этом примере порядок байтов — "от «саста(иег->роя(11оп, $зпс1ийе <аС41гЬ.Ь> спета(иег->че19ЬС) ° старшего к младшему" (старший байт идет первым). В листинге 5.3 прсдсталлсны функции для записи и чтс- 1ит чгбгеЬгп соптагпег(Р1ЬЕ *Гр, сопят ятгисг Сопгазпег *соптагиег) ния этих данных я лвоичном формате. Затем соотастстяуюшая функция читает строку из „ „ ииа(чиеб сьаг ьиггег[17)7 Перее.наеренный нзын С ПШ— Часть ! В ЭТОЙ ГЛАВЕ Эти выражения превращают любую величину !п! в / е копирчеи иеаичиил со ииаиои и г-иияиоиое Хранение и извлечение данных какой формат величин со знаком использует компиля- чоьв еисаие аг(ива[Опии сиаг *г!е1е[, лае тор.

Величины без знака форматируются подобно числам в представлении "дополнение до двух". Странная комбинация чисел в последней строке предотвращает иая[Оиеи епеа1ие = ча1ие >= О переполнение при операциях с величинами со знаком ча1ие + 655360; (напомним, что )и! гарантирует представление чисел в диапазоне от -32767 до 32767). Возможно, компилятор г[е10[0) = (ича1ие » 8) а Ох!!! Стив Саммит сможет провести существенную оптил!изацию.

2[е1Е[1) = ча1ие Ь Ол[[! Последняя проблема касается элемента тче)йй(, име- ) ° Цели и приложения ющего тип ([оиЫе. Существует большое разнообразие представлений чисел с плавающей запятой. Если необ- — ( О * ° Основные методы ( ходима леаксилеальная переносимость, текстовый фор- ипиеипее ича1ие = ((ииа!Опии)г!е14[0)) ° Общие форматы мат будет наилучшим выбороле. Однако в настоящее 6[е)О(1); ° Усовершенствованные методы время многие системы используют стандартные форматы.

опрелелснные а документе А[ЧК[/[ЕЕЕ-764. Соглас- гегига ича1ие <= 32767 ° Смежные вопросы но [ЕЕЕ, длина Воа! сосзавляет 32 бита, а длина доиЫе— ? (зас)ича1ие 64 бита. Остаюзся две проблемы переносил!Ости, размер Всем известно, что, если при обмене информацией с их. Большинство сетевых протоколов предусматривают Щ~ —— Лерееиив>реячиия>ля С Хрипение и и >я >ее ение дивны» Часть ! Глава б Операции чтения и записи фаилов данных концсп- ми величинами, не вс" из которых являются псчатаемы- ют ряд сушественных преимушеств. Прежде всего, они формат лшжет определяться неявно конкретной протуально схожи л>ежду собой. Файл ланных является ми символамн, и попытки просмотреть или обработать удобны для восприятия, а это уже многого стоит.

Мож- граммой, выполняющейся на конкретном компьютере. одним из представлений некоторых абстрактных дан- двоичный фаил данных с помощью обычных утилит лля но просто п<>смотреть в текстовый файл данных и уви- В этом случае для определения всех деталей формата ных, и эти же данные могут бып, прелставлены в па- тскстовыл фтилов приводят к полной бесел>ыслице. деть его содержимое; при этом нет налобносы> в спе- придется совершить определенное количество обратныл мяти с использованием структуры данных.

Проис«с за- Наприл>ср, в шестнадцатиричной системс целое число циазьных програмл>ах просмотра и редактирования, как действий, а это может потребовать написания незавиписи файла данных является просто преобразованием 1К50 предстагшено как Ох073а, следовательно, представ- в случае с двоичными файлами. Вы можете манипули- симой програл>мы, которая люгла бы читать и записыпредставления данных в памяти во внешнее предсгав- ление этого числа в двоичном файле ланных булст со- рован, текстовыми файлами данных, используя обшие, вать файлы, совместимые с файлами исходной програмление при выводе данных в файл. Чтение файла данных держать байты с величинами Ох07 и ОХЗа. На рис. 6.1 не требуюшие доработок программные средства. Тек- л>ы, особенно если новая программа лолжна включает в себя обратный проне~с — чтение и интер- показаны побайтовые представления целой величины стовые файлы также более удобны при отладке: если с выполняться на другом компьютере.

претацию бай~ов внешнего представления и реконструк- 1850 в тскстовол> и лвоичном форл>агах. файлом данных что-то не так, можно просто заглянуть Очень удобно, если кроме собственно данных, форцию представления в памяти. Далее мы увидим, что гг а э о в него и нел>едленно ~очно определить проблему илн в л>ат файла даннь>х содержит информацию, касающую- возможности библиотеки С <ат>)!о.й> вообше адскват- крайнсм случае найти, тле ошибается считываюшая илн ся самого файла данных. Например, многие файлы дан.

ны вссл> аспсктал> обеих рассматриваемых задач, но, как запись>ваюшая программа. Другое преимушество заклю- ных начинаются магическим числам, битовый набор это часто случается, сложности начинаются на уровне а а 1 охза ! охот ! чается в том, что числовые представления, которые л>ы которого идентифицирует определенный сорт файла летки>сиц + --ч----.л склонны использовать в текстовых файлах данных (т.е.

ланных и может быть использован считывающей продругои ст роны, очень важно сознавать, что внут- рИСуНОК б ! Ггредетаваеяияцелаивеаичипы 7850кахеп>раки представления, используемые для записи целых вслн- граммой для проверки того, что на входе находится ренине (в памяти) и внешние представления данных. в телеп>ивам дай-фай>е даипых и каи дв>хбайтавай цеюй чин или величин с плававшей запятой), автоматичес- файл нужного типа. Особенно полезно, если файлы как правило, отличаются. Процесс чтения и записи лан- величины, иепаллоюшей порядок "атм>адшега л старшему", ки становятся нечувствительными к конкретным осо- данных содержат иаиер версии формата.

Таким образом, ных обычно содержит некоторые преобразования, и в в дваичпам файле даппых. бенностям представлений и размеров этих типов на если форл>ат файла изменялся, программа может точно Г)ерееыотренныи нзак С кранение ииеаееиелиее)аннин Масть! Глава 6 в любом месте и в любой момент. За это, конечно, при- онной системе, внутри проераммы С новая строка вес- но считывать текст из файла по символу или по строке Для считывания третьей строки можно написать: ходится платить: явно заданный тег. определяющий гла обозначается одним символом 'хв'.

При записи тек- и преобразовывать выбранные числовые данные, исале 12; 1олд 1лс 13; к(олвзе Е2 е фрагмент данных, занимает дополнительное место в стового файла конец строки обозначается написанием пользУЯ такие фУнкции, как а(ой а(о), а(о(, в!г(о(, зпчое( василе(ьгр, -ькг 91е( 91г, 012, ахз, ае2] е файле. символа 'уп', и, увидев 'хп' при чтении файла, мы зна- и, может быть, яясапГ. (Функция ясапГ имеет заслужен- Текстовые файлы данных часто используют пере- см, что достигли конца строки.

Стандартная библиоте- но плохую репутацию с точки зрения пригодности ес Можно также п очссть это с ок с помощью менные форматы, а двоичные файлы данных обычно ка С преобразует 'хп' в представление конца с~роки, лля устойчивой работы при интерактивном вводе лан- ц й пРеобРазовать три числа, используя звсапй кции Г е(з и п еоб азовать и числа, использ я звсапй используют фиксированныс форматы, но вполне воз- принятое в данной операционной системс, и можно ных пользователем, но функции !агап! и аасапГ могут ядава(зьли, иахьхив, хгр) е можно существование текстового файла фиксированно- обычно полагать, что программа переноса файлов забо- прекрасно подойти для чтения файлов данных при ус- насалг(11л*, Гаа В1е( 91Е", а12, 013, аг2) е го формата и двоичного файла переменного формата. тится о преобразовании представления конца строки, а ловии, что возвращаемые ими значениЯ бУдУт пРове- Либо п читав ст о п еоб о ат числа по оли, прочитав строку, прео разовать числа по олтаюке других деталей формата текстового файла при ряться).

Основные методы переносе файлов данных с одного компьютера на другой. Поэтому обычно при работе с текстовыми файла- Числовыеданные синг ире г2 = асгео1(1(ае ьр 10) В этом разделе приведены базовые. низкого уровня ме- ми можно просто нс обращать внимания на этот тип Расслютрим, наприлеер, файл данных фиксированного гз = ясгсо1(р, ар, 10); толы хранения отдельных объектов в файлах ланных.

особенностей различных платформ. форлеата, содержащий в первой строке целое число, во е2 = нггеоп(Р, ИЦЩ,) е В дальнейшем мы будем использовать их в качестве Различные используемые наборы символов являют- второй строке — число с плавающей точкой и в третьей "строительных блоков" при написании больших частей ся еше олной зависящей от конкретной платформы про- строке — целое число, целое число типа (опй!п( и чисПоскольку функции а(г(о! и з(г(ой могут возвращать программы для чтения и записи целых файлов данных. блемой общих текстовых файлов. Файлы данных, кото- ло с плавающей точкой, подобные привеленным ниже во втором аргументе указатель на символ, сделающий Поскольку методы чтения и записи текстовых и лвоич- рыс нс содержат множества строк, пригодных для за последним и соб азованным символом, можно неных файлов существенно различаются, они рассматри- чтения пользователем, не вызывают особого бсспокой- 123 п твс осрсдс нно соединить вместе последовательность 456.789 Глава 6 11(васап((всг, "ьа-ьд-ьдтьдеьдеьд", ьу, ьво, ьд, ьь, ьв, ьа) < 5 ьь авсапу(ягг, 046$2дазд9026026$2д ьу, ьво, ьд, ьЬ, ьв, ьа) < 5) геепгп (Слав С)(-1)1 геСпгп вКС1ве(ьСв) ) Переееютренный иеык С Хранение и изаеечение данник 1 Часть! мер, необходимо сочетать %о) с типом !п1 и %)д — с ти- В следующей таблице представлены некоторые форпом )овй !п1 для функций рг(01! и ьсапб Подобно этому маты, употребляемые с функциями рг(вт( и ьсапй а так- аСгпсе Св Св (О); %! соответствует типу йоа(, а %(à — типу е)опЫе при ис- же другие функции преобразования, соответствующие пользовании функции ьсавб основным типам данных: Тин данных формат рг(пгр Формат ыапт Яругие функции свае %с %с Св.ев уеаг = у — 1900; Св.Са воп = во — 1; Св.Св вдау = ГМ Ыюн ~п( ее<) %по а(ги, в1По( Св.еа Ьопг = Ь; Св.гв вуп вь Св.гв вес вь 3П1 %п %п а(ой ь(но) (опр ~п1 о ад %х) а101, в1По( Ноа( %е, %1, %0 оЫ а1о1, ввтоп доиЬМ %0 оы оьй чай а101, ащод в1пля %в Эта функция достаточно устойчива: кроме формата, строку, в начале каждой строки находится идентифигенерируемого Вще(рг!п1, может быть считано сжатое катер, соответствующий имени элемента структуры.

представление с игнорированием излишней пунктуа- Например, весь файл данных может выглядеть следую- Если в файле данных нужно сохранить переменную операционная система или стандартная библиотека С ции, также допустимое в стандарте )80 860!. В другом щим образом: без знака, можно использовать форматы %в или %)в которых используют различные определения типе 1, случае можно пропустить секунды и полагать их равлибо функцию ь(гтов). Можно так:кс использовать аль- метки времени в файле данных нс будут иметь смысла.

Характеристики

Тип файла
DJVU-файл
Размер
12,26 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6264
Авторов
на СтудИзбе
317
Средний доход
с одного платного файла
Обучение Подробнее