Ввод/вывод файлов в языке C. Основные функции для работы с файлами

   
На этом шаге мы перечислим основные функции, предназначенные для работы с файлами.

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

  • Функция fputc (). Формат:
      fputc (c, fp);
    

    Выводит символ в файл (с - выводимый символ, fp - указатель файла).

  • Функция fputs (). Формат:
      fputs (s,fp);
    

    Выводит строку в файл (s - выводимая строка, fp - указатель файла).

  • Функция fgetc (). Формат:
      c = fgetc (fp);
    

    Читает один символ из файла с указателем fр. Переменная с описана как char с. В случае ошибки
    или достижения конца файла возвращает EOF.

  • Функция fgets (). Формат:
      fgets (s, MAXLINE, fp);
    

    Читает строку в s (s - массив символов или указатель типа char (предварительно должна быть
    выделена память для чтения с использована указателя), MAXLINE - максимальное число символов, которое
    требует читать из файла с указателем fр). В случае ошибки или достижения конца файла возвращает NULL.

  • Функция fread (). Формат:
      fread (buf, m, n, fp);
    

    Читает из файла с указателем fp n элементов данных, каждый из которых имеет длину m байтов.
    Чтение происходит в буфер, на который указывает указатель (например, char buf[50] или char *buf (но в этом
    случае нужно выделить память для буфера)). Общее количество байтов чтения составляет n*m. Функция возвращает
    количество прочитанных элементов, а при достижении конца файла или возникновении ошибки чтения возвращает NULL.

  • Функция fwrite (). Формат:
      fwrite (const void ptr, m, n, fp);
    

    Пишет в файл с указателем fp: добавляет n элементов в выходной файл, каждый элемент длиной в m байтов.
    Данные записываются из буфера, который указывает указатель ptr (этот указатель указывает на некоторый объект,
    например, на структуру). Общее число записанных байтов
    n*m. В случае ошибки записи функция возвращает ноль, в противном случае - количество записанных элементов.

  • Функция fseek (). Формат:
      fseek (fp, n, m);
    

    Устанавливает указатель в файле в позицию, отстоящую на n байтов от текущей, а направление перемещения (вперед
    или назад) задается параметром m, который может быть одним из значений: 0, 1, 2 или одной из трех символических
    констант, определенных в файле stdio.h:

    • SEEK_SET (или 0) - отсчет от начала файла;
    • SEEK_CUR (или 1) - отсчет от текущей позиции указателя;
    • SEEK_END (или 2) - отсчет от конца файла.

       
    Функция fseek() используется для ввода/вывода потоком.

       
    Для работы не с потоковыми данными следует использовать функцию lseek().

       
    При удачном завершении работы fseek() возвращает ноль, в противном случае - иное значение. Функция
    fseek() возвращает код ошибки, только если файл или устройство не открыты. В этих случаях глобальная
    переменная errno принимает одно из следующих значений:

    • EBADF - неверный указатель файла;
    • EINVAL - неверный аргумент функции;
    • ESPIPE - поиск на устройстве запрещен.
  • Функция ftell (). Формат:
      long int ftell (fp);
    

    Возвращает текущее значение указателя файла fp (т. е. номер текущей позиции) в виде значения типа long int.
    Отсчет идет в байтах от начала файла. Возвращаемое значение может быть использовано в функции fseek(). Если
    обнаружены ошибки, функция возвращает значение -1L и присваивает глобальной переменной errno положительное значение.

  • Функция fscanf (). Формат:
      fscanf (fp, Control, argl, arg2, ..., argn);
    

    Читает данные из файла с указателем tp, преобразует их по форматам, записанным в управляющей строке
    Control, а отформатированные данные записывает в аргументы arg1, ... , argn. Подробные
    сведения о работе этой функции можно получить, ознакомившись с работой функции scanf ().

  • Функция fprintf (). Формат:
      fprinf (fp, Control, argl, arg2, ..., argn);
    

    Записывет данные в файл с указателем fp, преобразует аргумент arg1, ... , argn к форматам,
    которые записаны в управляющей строке Control, и отформатированные данные записывает в файл.
    Подробные сведения о работе этой функции можно получить, ознакомившись с работой функции printf ().

   
На следующем шаге мы закончим изучение этого вопроса.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий