Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Лысаков. Основы программирования

Лысаков. Основы программирования (Лекции (2017)), страница 12

PDF-файл Лысаков. Основы программирования (Лекции (2017)), страница 12 Программирование (85821): Лекции - 2 семестрЛысаков. Основы программирования (Лекции (2017)) - PDF, страница 12 (85821) - СтудИзба2021-01-26СтудИзба

Описание файла

Файл "Лысаков. Основы программирования" внутри архива находится в следующих папках: Лекции 2017, Лекции 2017. PDF-файл из архива "Лекции (2017)", который расположен в категории "". Всё это находится в предмете "программирование" из 2 семестр, которые можно найти в файловом архиве НГУ. Не смотря на прямую связь этого архива с НГУ, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 12 страницы из PDF

Эти функции позволяют читать и записывать блоки данныхлюбого типа. Их прототипы следующие:void main(void){FILE *fp;double d = 12.23;int i = 101;long l = 123023L;size_t fread(void *буфер, size_t колич_байт,size_t счетчик, FILE * файл);size_t fwrite(const void *буфер, size_t колич_байт,size_t счетчик, FILE * файл);if((fp=fopen("test", "wb+"))==NULL) {printf("Error");return;}Для fread() буфер — это указатель на область памяти, в которую будутпрочитаны данные из файла. А для fwrite() буфер — это указатель наданные, которые будут записаны в файл.

Значение счетчик определяет,fwrite(&d, sizeof(double), 1, fp);fwrite(&i, sizeof(int), 1, fp);fwrite(&l, sizeof(long), 1, fp);сколько считывается или записывается элементов данных, причем длинакаждого элемента в байтах равна колич_байт. (Вспомните, что тип size_tопределяется как одна из разновидностей целого типа без знака.) И,rewind(fp);наконец, уф — это указатель файла, то есть на уже открытый поток.fread(&d, sizeof(double), 1, fp);fread(&i, sizeof(int), 1, fp);fread(&l, sizeof(long), 1, fp);Функция fread() возвращает количество прочитанных элементов. Еслидостигнут конец файла или произошла ошибка, то возвращаемое значениеможет быть меньше, чем счетчик.

А функция fwrite() возвращаетprintf("%f %d %ld", d, i, l);количество записанных элементов. Если ошибка не произошла, товозвращаемый результат будет равен значению счетчик.7.14.1.Использование fread() и fwrite()Как только файл открыт для работы с двоичными данными, fread() иfwrite() соответственно могут читать и записывать информацию любоготипа. Например, следующая программа записывает в дисковый файлданные типов double, int и long, a затем читает эти данные из того же99}fclose(fp);Как видно из этой программы, в качестве буфера можно использовать(и часто именно так и делают) просто память, в которой размещенапеременная.Вэтойпростойпрограммезначения,возвращаемыефункциями fread() и fwrite(), игнорируются.

Однако на практике этизначения необходимо проверять, чтобы обнаружить ошибки.100www.phys.nsu.ruОдним из самых полезных применений функций fread() и fwrite()этот файл и выводит информацию на экран. После запуска программыявляется чтение и запись данных пользовательских типов, особеннопроверьте, каким получится файл test. Как вы и увидите, в нем будетструктур. Например, если определена структура:вполне удобочитаемый текст.struct struct_type{float balance;char name[80];} cust;то следующий оператор записывает содержимое cust в файл, накоторый указывает fp:#include <stdio.h>#include <io.h>#include <stdlib.h>void main(void){FILE *fp;char s[80];int t;if((fp=fopen("test", "w")) == NULL){printf("Error\n");return;}fwrite(&cust, sizeof(struct struct_type), 1, fp);7.15.

Функции fprinf() и fscanf()printf("Введите строку и число: ");Кроме основных функций ввода/вывода, о которых шла речь, в системе/* читать с клавиатуры */fscanf(stdin, "%s%d", s, &t);ввода/вывода языка С также имеются функции fprintf() и fscanf(). Эти двефункции, за исключением того, что предназначены для работы с файлами,/* писать в файл */fprintf(fp, "%s %d", s, t);fclose(fp);ведут себя точно так же, как и printf() и scanf(). Прототипы функцийfprintf() и fscanf() следующие:if((fp=fopen("test","r")) == NULL){printf("Error\n");return;}int fprintf(FILE *файл, const char *строка, ...);int fscanf(FILE *файл, const char *строка, ...);Операции ввода/вывода функции fprintf() и fscanf() выполняют с темфайлом, указанным в параметрах функции.В качестве примера предлагается рассмотреть следующую программу,fscanf(fp, "%s%d", s, &t);fprintf(stdout, "%s %d", s, t);}которая читает с клавиатуры строку и целое значение, а затем записываетих в файл на диске; имя этого файла — test.

После этого программа читает101102www.phys.nsu.ruМаленькое предупреждение. Хотя читать разносортные данные изУчебное изданиефайлов на дисках и писать их в файлы, расположенные также на дисках,часто легче всего именно с помощью функций fprintf() и fscanf(), но это невсегда самый эффективный способ выполнения операций чтения и записи.Так как данные в формате ASCII записываются так, как они должныЛысаков Константин Федоровичпоявиться на экране (а не в двоичном виде), то каждый вызов этихфункций сопряжен с определенными накладными расходами. Поэтому,если надо заботиться о размере файла или скорости, то, скорее всего,придется использовать fread() и fwrite().СТРУКТУРНЫЙ И ОБЪЕКТНО-БАЗИРОВАННЫЙПОДХОДЫ В ПРОГРАММИРОВАНИИ НА ПРИМЕРЕЯЗЫКОВ С И С++УЧЕБНОЕ ПОСОБИЕ103104.

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