Основы программирования для автоматизированного проектирования и решения творческих задач. Романенко А.В - 25 стр.

UptoLike

Составители: 

ция побайтно передается в переменные из файла по указанным адресам и таким же образом считывается из них и записыва-
ется в файл. Вся информация воспринимаются равнозначной.
При работе с файлом в текстовом режиме содержимое файлов разбивается на строки. В конце каждой строки записыва-
ется пара кодов для обозначения конца строки (CR и LF), получаемых преобразованием символа окончания строки '\n', а при
чтении данных из файла производится обратное преобразование кодов CR и LF в '\n'.
Существуют дополнительные спецификаторы, позволяющие указать способ обмена информацией с открываемым фай-
лом.
8 Режимы открытия файла
Символ Режим работы
b Файл открывается в двоичном режиме
t Файл открывается в текстовом режиме
П р и м е р 23
Показана рекомендуемая последовательность операторов, которую необходимо использовать при открытии файла.
#include <stdio.h>
int main()
{
FILE *f;
char str[15];
scanf("%s", str);
if ((f = fopen(str, "r+b")) == NULL)
{
puts("произошла ошибка");
return 1;
}
return 0;
}
После завершения работы с потоком его необходимо закрыть. При этом файловая переменная разрушается и произво-
дится корректное завершение работы с файлом. Закрытие файла осуществляется функцией
int fclose(FILE *);
Если необходимо завершить работу с несколькими файлами, можно использовать функцию
int fcloseall(void);
Для осуществления операций ввода-вывода из потока используются функции:
1) для посимвольного ввода-вывода используются функции:
int fgetc(FILE *); – ввод одного символа;
int fputc(int , FILE *); – вывод одного символа;
2) для построчного ввода-вывода используются функции:
char *fgets(char *str, int n, FILE *f); – передает n байт из потока, связанного с указателем f, в строку по адресу str;
int fputs(char *str, FILE *f); – переносит байты из строки str в поток с указателем f;
3) функции блокового ввода-вывода работают в двоичном режиме открытия файла:
int fread(void *ptr, int size, int n, FILE *f); – считывает n элементов размером size каждый из открытого файла f и помещает их
в оперативную память по адресу ptr, в случае неудачи возвращает значение EOF;
int fwrite(void *ptr, int size, int n, FILE *f); – записывает n элементов размером size байт каждый, определяемых адресом ptr, в
открытый файл с указателем f, в случае неудачи возвращает значение EOF;
4) функции форматного ввода-вывода для текстового режима
int fscanf(FILE *f, char *format, ...);
int fprintf(FILE *f, char *format, ...);