Стандартные файлы и функции по работе с ними
Основные алгоритмы работы с файлами
Порядок работы с текстовыми и двоичными файлами аналогичен.
Для записи данных в файл нужно выполнить:
- Описать файловую переменную типа 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.
Краткие итоги
- Данные хранятся на внешних носителях в виде файлов. Файлы рассматриваются как неструктурированная последовательность байтов.
- Согласно концепции С++, файлы классифицируются на текстовые и двоичные.
- Организация ввода-вывода в С++ осуществляется с помощью потоков.
- Чтение данных из потока называется извлечением, вывод в поток – помещением (включением).
- Ввод-вывод данных в файлах с помощью стандартных функций осуществляется посредством буфера.
- При организации в программе файлового потока объявляется файловый указатель.
- Прототипы функций по работе с файлами находятся в стандартных библиотеках.
- Перед началом работы с файлом его необходимо открыть, указав режим открытия.
- Любой открытый в программе файл необходимо закрыть после использования.
- С помощью стандартных функций может быть организован символьный, строковый, блоковый и форматированный ввод-вывод данных.