Стандартные файлы и функции по работе с ними
Основные алгоритмы работы с файлами
Порядок работы с текстовыми и двоичными файлами аналогичен.
Для записи данных в файл нужно выполнить:
- Описать файловую переменную типа FILE *.
- Открыть файл для записи с помощью функции fopen.
- Записать данные в файл с помощью функции fprintf или fwrite.
- Закрыть файл с помощью функции fclose.
Для чтения данных из файла нужно выполнить:
- Описать файловую переменную типа FILE *.
- Открыть файл для чтения с помощью функции fopen.
- Считать данные из файла с помощью функции fscanf или fread.
- Закрыть файл с помощью функции fclose.
Пример 6. Написать программу, реализующую подсчет количества символов в заданном тексте и файловый ввод-вывод данных. Работа программы должна включать ввод пользователем с клавиатуры имен входного и выходного файлов. Результат работы программы сохраняется в выходном файле, а также выводится на экран.
#include "stdafx.h" #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]){ int sum=0; char c,file1[10],file2[10]; FILE *t,*g; printf("Введите имя входного файла : "); scanf("%s",file1); printf("Введите имя выходного файла "); scanf("%s",file2); t=fopen(file1,"r"); g=fopen(file2,"w"); printf("\nСодержимое входного файла %s:\n",file1); while(!feof(t)) { c=getc(t); if (c!=10&& c!=-1) //символы конца строки и конца файла не считаются sum++; printf("%c", c); } fprintf(g,"%d",sum); printf("\nКоличество символов в тексте входного файла равно %d",sum); fclose(t); fclose(g); system("pause"); return 0; }
Ключевые термины
Буфер – это область оперативной памяти, предназначенная для временного хранения данных во время процессов ввода-вывода информации.
Двоичный файл – это файл, данные которого представлены в бинарном виде.
Извлечение из потока – это процесс чтения данных из потока.
Помещение (включение) в поток – это процесс вывода данных в поток.
Поток – это абстрактное понятие, относящееся к любому переносу данных от источника к приемнику.
Режимы открытия файлов – это наборы допустимых действий с открываемыми в программе файлами.
Стандартные функции по работе с файлами – это функции из стандартной библиотеки, выполняющие ввод-вывод в файлы.
Текстовый файл – это файл, в котором каждый символ из используемого набора символов хранится в виде одного байта (кода, соответствующего символу).
Файл – это именованная область внешней памяти, в которой хранится логически завершенный объем данных.
Файловый указатель – это указатель на объект структурного типа FILE.
Краткие итоги
- Данные хранятся на внешних носителях в виде файлов. Файлы рассматриваются как неструктурированная последовательность байтов.
- Согласно концепции С++, файлы классифицируются на текстовые и двоичные.
- Организация ввода-вывода в С++ осуществляется с помощью потоков.
- Чтение данных из потока называется извлечением, вывод в поток – помещением (включением).
- Ввод-вывод данных в файлах с помощью стандартных функций осуществляется посредством буфера.
- При организации в программе файлового потока объявляется файловый указатель.
- Прототипы функций по работе с файлами находятся в стандартных библиотеках.
- Перед началом работы с файлом его необходимо открыть, указав режим открытия.
- Любой открытый в программе файл необходимо закрыть после использования.
- С помощью стандартных функций может быть организован символьный, строковый, блоковый и форматированный ввод-вывод данных.