Здавалка
Главная | Обратная связь

Функции библиотеки stdio.h



FILE *fopen(const char *filename, const char *mode)

Функция открывает файл.

filename - путь к файлу

mode - тип доступа

  • r - чтение, если файла нет, то данная функция генерирует ошибку (возвращает 0)
  • w - запись, если файла нет, то файл создаётся, если есть исходное содержимое удаляется
  • a - добавление в конец, если файла нет, то он создаётся
  • r+ чтение и запись (файл должен существовать)
  • w+ - чтение и запись (принцип работы как у w)
  • a+ - добавление и чтение (принцип работы как у a)

Примечание:Все вышеописанные режимы предназначены для текстового открытия файла. Для двоичного открытия перед режимом достаточно добавить букву b. Например, br.

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

Примечание:Указатель на открытый файл принято хранить в типе данных FILE*.

int fclose( FILE *stream )

Функция закрывает файл.

stream - указатель на закрываемый файл.

Если всё проходит успешно, то данная функция возвращает 0, или EOF в случае ошибки.

Примечание:EOF (End Of File) - обозначение конца файла.

char *fgets( char *string, int n, FILE *stream )

Считывает строку начиная с текущей позиции.

Считывание останавливается:

  • ...если был найден символ перехода на новую строчку ( он помещается в строку )
  • ...если достигнут конец файла
  • ...если считано n-1 символов.

string - cтрока, в которую попадают считанные данные

n - количество элементов в string

stream - указатель на открытый файл

Если всё прошло успешно функция возвращает считанную строку, если произошла ошибка или достигнут конец файла возвращается 0.

int fputs( const char *string, FILE *stream )

Записывает строку в файл, начиная с текущей позиции.

string - строка для записи

stream - указатель на открытый файл, куда производиться запись

Если функция отрабатывает успешно из неё возвращается неотрицательное значение. При ошибке возвращается EOF.

size_t fread( void *buffer, size_t size, size_t count, FILE *stream )

Функция считывает данные из файла в буфер.

buffer - адрес массива, куда запишутся данные

size - размер элемента массива в байтах

count - максимальное количество элементов для считывания

stream - указатель на открытый файл.

Функция возвращает количество считанных байт.

Примечание:Тип данных size_t определен в библиотеке stdio.h следующим образом:typedef unsigned int size_t;. Другими словами, это обычный беззнаковый int.

size_t fwrite( const void *buffer, size_t size, size_t count, FILE *stream )

Функция записывает массив данных в файл.

buffer - адрес массива, где содержатся данные

size - размер элемента массива в байтах

count - максимальное количество элементов для записи в файл

stream - указатель на открытый файл.

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

int feof( FILE *stream )

Функция проверяет достигнут ли конец файла.

stream - указатель на открытый файл

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

int _fileno( FILE *stream )

Данная функция возвращает дескриптор файла.

stream - указатель на открытый файл.

int fseek ( FILE *stream, int offset [, int whence] )

Устанавливает смещение в файле

stream - указатель на открытый файл

offset - смещение, измеряемое в байтах от начала файла

whence - точка, от которой производится смещение

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

Функция возвращает значение 0, если указатель файла успешно перемещен, и ненулевое значение в случае неудачного завершения.







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.