Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом
  • Работа с файлами






    Файл – это набор данных, размещенный на внешнем носителе и рассматриваемый в процессе обработки и пересылке как единое целое. Прототипы большинства функций по обработке файлов описаны в библиотеках stdio.h и io.h.

    Прежде чем работать с файлом, его нужно открыть для доступа, т.е. создать и инициализировать область данных, которая содержит информацию о файле: имя, путь и т.д. В языке С/С++ это выполняет функция fopen (), которая связывает физический файл на носителе с логическим именем в программе. Логическое имя – это указатель на файл, т.е. на область памяти, где хранится информация о файле. Указатели на файлы необходимо декларировать:

    FILE * указатель на файл;

    Формат функции

    fopen (“ строка 1”, “ строка 2”);

    в строке 1 указывается место, в которое мы собираемся поместить файл, например: “d: \\work\\sved.txt” – файл с именем sved.txt, который будет находиться на диске d, в папке work; если путь к файлу не указывать, то он будет размещен в рабочей папке проекта.

    В строке 2 указывается код открытия файла:

    w – для записи, если файла с заданным именем нет, то он будет создан, если же такой файл существует, то перед открытием прежняя информация уничтожается;

    r – для чтения; если файла нет, то возникает ошибка;

    a – для добавления новой информации в конец;

    r +, w + – возможны чтение и запись информации;

    a + – то же, что и для a, только запись можно выполнять в любое место файла, доступно и чтение файла.

    По умолчанию файл открывается в текстовом режиме (t), указав b – файл открывается в двоичном режиме.

    Если при открытии файла произошла ошибка, функция fopen возвращает значение NULL.

    После работы доступ к файлу необходимо закрыть с помощью функции fclose (указа­тель файла), например, fclose (f);

    Для закрытия нескольких файлов введена функция: void fcloseall (void);

    Приведем пример минимального набора операторов, необходимых для корректной работы с файлом:

    #include < stdio.h>

    ...

    FILE *f_my;

    if(! (f_my = fopen(“rez.txt”, “r+t”))) {

    puts(“\n Ошибка открытия файла! ”);

    // В оконном режиме – ShowMessage (" Ошибка открытия файла");

    return;

    }

    ... // Работа с файлом

    fclose(f_my);

    ...

    Для работы с текстовыми файлами в консольном приложении удобнее всего пользоваться функциями fprintf () и fscanf (), параметры и выполняемые действия аналогичны функциям printf () и scanf (), (см. лаб.раб.№1), только первым параметром добавлен указатель файла, к которому применяется данная функция.

    Функции работы с текстовыми файлами удобны при создании результирующих файлов для отчетов по лабораторным и курсовым работам.

    Для создания баз данных удобнее пользоваться функциями работы с бинарными файлами. Рассмотрим некоторые из них, обозначив указатель файла – fp (FILE * fp;):

    1) int fread (void * ptv, int size, int n, fp) – считывает n блоков по size байт каждый из файла fp в область памяти, на которую указывает ptv (необходимо заранее отвести память под считываемый блок);

    2) int fwrite (void * ptv, int size, int n, fp) – записывает n блоков по size байт каждый из области памяти, на которую указывает ptv в файл fp;

    3) int fileno (fp) – возвращает значение дескриптора файла fp (дескриптор –число, определяющее номер файла);

    4) long filelength (int дескриптор) – возвращает длину файла в байтах;

    5) int chsize (int дескриптор, long pos) – выполняет изменение размера файла fp, признак конца файла устанавливается после байта с номером pos;

    6) int fseek (fp, long size, int kod) – выполняет смещение указателя на size байт в направлении признака kod: 0 – от начала файла; 1 – от текущей позиции; 2 – от конца файла;

    7) long ftell (fp) – возвращает значение указателя на текущую позицию файла fp (-1 – ошибка);

    8) int feof (указатель файла) – возвращает ненулевое значение при правильной записи признака конца файла;

    9) int fgetpos (указатель файла, long * pos) – определяет значение текущей позиции pos файла; при успешном завершении возвращает значение 0.

     






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.