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

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

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

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

вопр<)иеа ными нулю. 42 тернативную десятичной систему счисления, применяя Наилучшим способом хранения дат и времени, сели При таком поедставлении функции (нпе(ргерг,,и,,„.. 1„2, 1,,20 о...я ..., ..., .. Ш~ Пернннотрннньннзнн С Хранение и изннеченнн данньп а Часть! Глава б Не существует способа, позволяющего указать компи- раметры [ и яа передаются как указатели (это принятая Представленная в листинге 6.) программа тар ке в зсая[, основной метод проверки (который следует счилятору автоматически вставлять имена элементов струк- в С форма "передачи через ссылку"), т.с. функция мо- основном прозрачна, но стоит обратить внимание на не- тать обязательным) будет состоять в проверке возвращатуры в файл данных жег верн)ть вызывающей программе их новые значения. которые моменты.

Функция возвращает ЕАЬЯЕ (т.е. емого значения функции зсапй чтобы выяснить, все ли Чтение данных из такого файла не намного сложнее: (Параметр пя доступен и для чтения, и для записи: нуль) при серьезных ошибках в файле данных, таких ожидаемое число переменных преобразовано. выполняющая чтение функция приведена в листинге на входе в функцию он содержит значение максималь- как ошибка в номере версии. Строка, содержащая эле- В этом разделе мы пролемонстрировали вам все нс- 6.).

Как и в предыдущем случае, она принимает указа- ного размера массива для хранения считываемых дан- менты массива (вторая строка),-анализируется путем обходимые методы для достаточно удобной записи и тель на файл ланных, который надо прочесть; в данном ных, а на выхоле из функции — число элементов мас- повторных вызовов в(г(о1 Это дополнительная провер- чтения текстовых файлов данных. Нетрудно вилеть, что случае — указатель на файл, открытый для чтения. Па- сина, считанных из файла.) ка удаления замыкающих ля во вводимой строке, по- схема работы с тсгированными данными в файле ланскольку (яств оставит их на месте.

Обработка ошибок в ных переменного формата, по сути, совпадает со схсЛистинг 6.1. Функция 1к1геаг(О дпя чтения текстового файна данных. этой функции нс является исчерпывающей, при этом мой обработки командной строки или исполняемых )ае11пе ЯДХЬгвя тихо игнорируются такис возможные ошибки, как не- командных файлов: первое "слово" в строке информи1аегьпе Тйвв 1 числовые данные во второй и третьей строках или пло- руст о том, что представляет собой эта строка, а остальхо отформатированные данные в части переменного ная часть строки содержит "аргументы", рассматриваеформата. В своей собственной программе вы можете мыс в контексте первого слова.

Иными словами, чтение ввести более строгую проверку ошибок. и интерпретация такого вида данных требует почти та1пе Наиболее интересным моментом в данной програм- ких же программ, какие обычно используются для инсйег *р, р21 ме является анализ данных переменного формата. Для терпрстации простых команлных файлов и простых 11[гдееа[11пе, елхеог(1лпе), 11р) == явЬЬ) кажлои строки при нахождении первого символа про- конфигураций файлов типа "команда/аргумент" или бела в начале строки выделяется тег и оставшаяся часть "тег/величина". 11(ааеапг[11пе, "$10а Еа, ЕЯРеег, а)) !- "2 Г>ересиин>ренньа юьн Г 1 Часть! Хранение и и и еиение ранних ффффф Глава 6 Иййй ле.

Вы обнаружите несколько схожих >срт. но в основ- (Во второй строке предполагается, что размер мас- вызовс сго с другим набором параметров. Подводя итог, Резонно опрсдслизь формат файла данна>х с использоном двоичныс файлы разительно отличают~я от тексто- сива агг объявлен равным ! О, э переменная па предназ- можно сказать, что если файл данных должен быть пе- ванием представления "дополнение до лвух", но то>да вых, зак же как и прогрэ>>л>ы, которые мы напишем для пачена для хранения количества считанных элементов ) рсносимыл>, то методы чтения и записи по типу "ах как чтение и запись фаилов на компьютерах, использукяцих работы с ними. Очень хорошо, что вызовы функций Гтиг)(е и Ггеай просто" с использованием функций Ггеай и йигйе в об- представления "дополнение до единицы" и "знак-велиПри работе с двоичными файлал>и в первую очередь легко выполнять в программе.

Но при этом плохо, что щем случае неприменимы. чина", потребуют дополнительной программы, которая их н)жно правильно открывать. Поскольку эти файлы, созданныетаким образом файлы ихкютнизкии уровень Можно сделать так, чтобы чтение и запись лвоич- выполняла бы необходимое преобразование. по определению, нетекстовые, нет нужты использовать переносимости. Поскольку расположение данных в ных файлов обладали переносимостью, но при этом Считывать двухбаитовыс целыс величины столь же стандартную библиотеку С для преобразования симво- фанлс один-к-одному повторяет индивилуальную щестю>ять более прямон контроль зепи ~роста Нужно то >ько соблюдать анку лов перевода каретки или окончания строки. Нет необ- стр)к>Тру этих данных в пал>яти компьи>гера, то струк- си и чтения каждого отдельного байта, а не доверять нии байтов в требуемом порядке лля составления их ходимости также рассматривать симво;> Соп(го)-2 как тура фаила полностью зависит от любых особенностей делать это компилятору.

К сожалению, если записывать вместе. Для чтения двух байтов в порядке "от младше- символ окончания файла в М5-П05 или Мшгохой платформы Число байтов, необходимое для записи и считывать файл данных побайтово, то несколько тс- го к старшему" можно использовать такую запись: '>т>пе)оък Чтобы биГ>лиотска я(сйо нс лсльша прсобраю- обьсктов таких типов.

как!я( и йоа( (как и лн>бых лру- ряется простота програлемы и те преимушества в скородеес(хдр)> ваний таких символов, необходимо открывать файл в тих типов), может быть различным для разных компь- сти чтения/записи, которые в первую очередь и привлс- х (= деес(ьгр) « в> двоичном режиме, вкзюшв символ Ь в строку режима югеров. В величинах, состоящих более чем из одного кают в двоичных файлах А для чтения двух бай~он в порядке "от старшего к открытия файла, которая является вторым аргументом, байта, может также варьироваться порядок бантов в Но основной метол как раз и заклк>чается именно в млалшему" используем следующие выражения: передаваемым функции (орея.

Таким образом, чтобы компьютерах с порядком "от старшего к младшему" баит обраГютке данных по одному байту. Например, прсдпооткрыть файл для чтения, нужно испольэоватьгЬ, а что- наивысшего порядка записывается в памяп> первым и ложим, что нужно записать величину (я( в переносимый х = деес(хер) «а> бы открыть его для записи, нужно исполь>авагь геЬ. соотвстс>венно запишется первым в файл, а в компью- файл данных.

Сначата нужно выяснить, сколько бай- х (= деес(ьер) > В качестве отправнои точки (но не в каиегл>ие рекс- терах с порядком "от младшего к старшему" все будет тов займет эта величина в файле и в каком порядке бай- 3амстиь> здесь, что соединять эти два фрагмента в Пар<сиатр<ннайяхик С Храм<ха< и имичение дахаиг Часть [ Глава 6 строке может предшествовать ее длина, сохраненная в лают размер величин типа (ппе 1, и хотя для сеголняш- Лри записи текстового файла данных лля выполнс- ация склалывастся не так улачно.

Можно переложить ]- илн 2-байтовой величине, либо строка может быть них задач они полностью отвечают требованиям и бу- ния основной работы можно было использовать функ- основную часть работы на собственные функции рпйп( приведена к фиксированному размеру. (]хак мы упомн- дуг соответствовать им в ближайшем будущем, но уже цию Грг[п(Г из стандартной библиотеки. Что касается и рв(йов(, которые мы сейчас вам покажем. пали ранее, наборы лзежлународных символов могут очень скоро такого соответствия не будет. переносим пе сносимых двоичных файлов данных, то здесь ситу- Чтение двоичных файлов производится аналогично: создавать особые проблемы для строковых данных.) Что жс можно реально сделать, особенно если комОсновной способ чтения или записи структуры заклю- пьютсры, на которых мы работаем сейчас, по-прежнечастся в отдельной обработке каждого элемента с при- му используют 32-битовую временную метку? Одной из хвс Ьгвгеац(Р1ЬВ 'Ьгр, хвс 'х, Ьве а(], хвг *ва, аггвсг в ав) менснием приемов, пригодных для типа каждого элс- возможностей является заказ большего, чем нсобходихвг х, х2, ], 32, Еад; мента.

В обшем случае мы не должны беспокоиться о мо. количества байтов в файле данных, и написание сохранении указателей в файлах данных. Так практи- программ чтения и записи таким образом, чтобы их 1[()дее1ас(ьх, Рбр) ~( х ! 12543) /а иагачвсхов чвсво '/ чески никогда нс делают, поскольку нет никакой гаран- работоспособность автоматически сохранялась при пе- гегвга РЛЬ$ВГ тии, что данные, на которые ссылается указатель, во- рсносе их на компьютеры, где величина Вгпе 1 занима- 12([х дага[1[в)) ВОР [] х ( 1) /э воиер версвя '/ обшс будут присутствовать в памязи и булуз нахолгпься ст больше 32 битов.

Например, поле длинной б байтов гегвгв РЛЬВВ) дег1вг(1. 12р)) на тол1же месте, котла файл данных будет считываться сслсржит 4а битов, или 2и секунды, что больше левяти де 1в ьх, х р ; программой позже. миллионов лет. Запись такого расширенного формата Рог(3 32 ВГ 1 < х) 3++) В прелыдушсм разделе мы упоминали о возможнос- л1ы покажем зачес в этом разделе. ( ти рассмотрения данных время/дата отдельно, поэтому Возможно, наиболее тонкого подхола требует сохра1[[>2 < ава) а[]2+ь] х2; имеет смысл рассмотреть этот вопрос также в контск- нение в двоичных файлах ланных величин с плаваюшей ) стс двоичных файлов. В двоичном файле даже более точкой. Нелостаточно определить только размер и по- 'ла ]21 Хранение и имат<ни< донни« Глава б тоха рпееьоае(хьоае С, ВПЛ сер) шему".

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

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

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

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