КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Функции ввода-вывода, работающие с файлами
Пример Работа с файлами данных Для программиста открытый файл представляется как последовательность данных — считываемых данных или записываемых данных. При открытии файла с ним связывается поток. Выводимая информация записывается в поток; считываемая информация берется из потока. Когда поток открывается для ввода-вывода, он связывается со структурой типа FILE, которая определена в stdio.h. Структура содержит разнообразную информацию о файле. При открытии файла с помощью функции /open возвращается указатель на структуру типа FILE, который можно использовать для последующих операций с файлом.
Функция /open открывает файл, имя которого задается аргументом пате, и связывает с ним поток для выполнения операций ввода-вывода данных. Параметр type — это указатель на строку символов, определяющих способ доступа к файлу. Возвращаемое значение функции — указатель на структуру типа FILE. Значения аргумента type следующие: • "г" — открыть файл для чтения (файл должен существовать); • "w" — открыть пустой файл для записи; если файл существует, то его содержимое теряется; • "а" — открыть файл для записи в конец (для добавления); файл создается, если он не существует; • "г+" — открыть файл для чтения и записи (файл должен существовать); • "w+" — открыть пустой файл для чтения и записи; если файл существует, то его содержимое теряется; • "а+" — открыть файл для чтения и дополнения, если файл не существует, то он создаётся. Возвращаемое значение функции /open: 1) указатель на открытый поток; 2) значение NULL, если обнаружена ошибка. Пример. Открытие существующего файла для чтения main() { FILE *f; /* f - указатель на открытый поток */ char *а, *Ь; /* а и b - указатели на строки */ cL= cL • CLcLTL } b="r"; f=fopen(a, b); /* или более простой вариант: */ /* f= fopen("a.dat", "r"); */ Пример
Функция /close закрывает поток или потоки, связанные с открытыми при помощи функции/ореи файлами. Закрываемый поток определяется аргументом/
Возвращаемое значение: 1) значение 0, если поток успешно закрыт; 2) EOF, если произошла ошибка. fclose(f); Функция feof определяет достигнут ли конец файла. Если конец достигнут, то операция чтения будет возвращать значение EOF до тех пор, пока поток не будет закрыт. #include <stdio.h> int feof(f); FILE *f; Возвращаемое значение: 1)0 — если конец файла не найден; 2) ненулевое значение, если достигнут конец файла. 1. Функция чтения символа из файла fgetc. Функция fgetc читает один символ из вводного потока/
Возвращаемое значение: 1) код прочитанного символа; 2) EOF, если конец файла или ошибка. 2. Функция записи символа в файл fputc. Функция fputc записывает одиночный символ, имеющий код с, в поток / Это аналог функции putchar для работы с файлами.
Возвращаемое значение: 1) код записанного символа; 2) EOF, если встретился конец файла или произошла ошибка. Пример. Посимвольное копирование файла
fclose(out); fclose(in); } else printf("He могу открыть out.dat \n"); } else printf("He могу открыть in.dat \n"); } Функции fscanf и fprintf. Действия данных функций похоже на действия функций scan/ и printf, однако эти функции работают с файлами данных, и первый аргумент функций — это указатель на файл. 3. Функция fscanf читает данные из указанного потока /, выполняя форматные преобразования, и полученные значения записывает в переменные, адреса которых задаются параметрами argument.
4. Функция fprintf выполняет формальные преобразования данных и печатает последовательность символов и значений в выводной поток/
Пример. Дано два файла S.dat и Sl.dat. Необходимо считать число типа int из файла S.dat и записать его в файл Sl.dat.
Функции /gets и /puts предназначены для ввода-вывода строк, они являются аналогами функций gets и puts для работы с файлами. 5. Функция чтения строки символов из файла/gets. Функция /gets читает строку из входного потока f и помещает её в строку, адрес которой задается значением параметра s. Символы читаются из потока до тех пор, пока не будет прочитан символ новой строки '\п', который включается в строку, или пока не наступит конец потока или не будет прочитано п-\ символов. Результат помещается в s и заканчивается нулевым символом '\0'. Функция возвращает адрес строки.
6. Функция записи строки символов в файл /puts. Функция /puts копирует строку s в поток f с текущей позиции. Завершающий нулевой символ не копируется.
Дата добавления: 2014-11-29; Просмотров: 396; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |