Опубликован: 02.02.2011 | Уровень: для всех | Доступ: свободно
Лекция 20:

Стандартные файлы и функции по работе с ними

< Лекция 19 || Лекция 20: 1234 || Лекция 21 >

Основные алгоритмы работы с файлами

Порядок работы с текстовыми и двоичными файлами аналогичен.

Для записи данных в файл нужно выполнить:

  1. Описать файловую переменную типа FILE *.
  2. Открыть файл для записи с помощью функции fopen.
  3. Записать данные в файл с помощью функции fprintf или fwrite.
  4. Закрыть файл с помощью функции fclose.

Для чтения данных из файла нужно выполнить:

  1. Описать файловую переменную типа FILE *.
  2. Открыть файл для чтения с помощью функции fopen.
  3. Считать данные из файла с помощью функции fscanf или fread.
  4. Закрыть файл с помощью функции 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.

Краткие итоги

  1. Данные хранятся на внешних носителях в виде файлов. Файлы рассматриваются как неструктурированная последовательность байтов.
  2. Согласно концепции С++, файлы классифицируются на текстовые и двоичные.
  3. Организация ввода-вывода в С++ осуществляется с помощью потоков.
  4. Чтение данных из потока называется извлечением, вывод в поток – помещением (включением).
  5. Ввод-вывод данных в файлах с помощью стандартных функций осуществляется посредством буфера.
  6. При организации в программе файлового потока объявляется файловый указатель.
  7. Прототипы функций по работе с файлами находятся в стандартных библиотеках.
  8. Перед началом работы с файлом его необходимо открыть, указав режим открытия.
  9. Любой открытый в программе файл необходимо закрыть после использования.
  10. С помощью стандартных функций может быть организован символьный, строковый, блоковый и форматированный ввод-вывод данных.
< Лекция 19 || Лекция 20: 1234 || Лекция 21 >
Денис Курбатов
Денис Курбатов
Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!

Андрей Садовщиков
Андрей Садовщиков
Россия