|
Лабораторный практикум по основам языка C/С++ |
Тема 9.1. Работа с файлами средствами языка С
С точки зрения языка C, любой файл представляет собой
последовательный поток байтов. Какждый файл заканчивается специальным маркером конца файла.
Когда файл открывается, то ему ставится в соответствие поток ввода или вывода,
в зависимости от того, для каких целей (можно также сказать с какими опциями)
он был открыт.
В начале работы программы открываются три файла и связанные с ними потоки:
стандартный ввод (stdin), стандартный вывод (stdout)
и стандартная ошибка (stderr). Потоки обеспечивают каналы передачи данных
между файлами и программами. Открытый файл возвращает указатель на структуру
FILE, определенную в <stdio.h>
Стандартная библиотека поддерживает многочисленные функции чтения данных из файла и записи данных в файл.
fopen(имя файла, опция открытия)&ndash открытие файла (w- на запись;r- на чтение,а- на добавление;w+- создается файл для чтения и записи;r+- открывается файл для чтения и записи,а- открывается файл для чтения и записи с помещением маркера текущей позиции в файле в конец файла).fclose(указатель на файл)&ndash закрытие файла.feof(указатель на файл)&ndash возвращаетtrueесли достигнут конец файла.fgetc(указатель на файл)– считывает из файла один символ. Например,fgetc(stdin)считает один символ из стандартного потока, что эквивалентно использованию функцииgetchar().fputc(символ, указатель на файл)&ndash запись одного символа в файл. Например,fputc('a',stdout)эквивалентноputchar('a')fgets(указатель на файл)– считывает из файла строку символов.fputs(строка, указатель на файл)&ndash запись строки в файл.fscanf(указатель на файл-поток, строка формата ввода)– считывание из файла.fprintf(указатель на файл-поток,строка формата вывода, список переменных для вывода)&ndash запись в файл.rewind(указатель на файл)– переместить указатель текущей позиции в файле на начало.fwrite(адрес первой ячейки памяти, размер одного блока, количество блоков, указатель на файл) – вывести в файл указанное количество блоков в файл.fread(адрес первой ячейки памяти, размер одного блока, количество блоков, указатель на файл) – прочитать из файла указанное количество блоков в файл.
Пример программы, в которой открывается файл на запись и в него выводятся данные клиента банка
Пример программы, с использованием поблочной записи структур в файл.