Тип данных FILE

Заголовочный файл

Название Язык
stdio.h С
cstdio С++

Этот тип данных определяет поток и содержит информацию, необходимую для управления потоком, в том числе указатель на буфер  потока, и его показатели состояния.

Файловые объекты обычно создаются с помощью вызова функций fopen или tmpfile, которые возвращают ссылку на объект связанный с файлом.

Содержимое объекта FILE предназначено для использования только функций определённых в заголовочном файле <cstdio>. В самом деле, основной целью объекта типа FILE является идентификации и потока, который связан с физическим файлом. Во всех потоковых функциях, в качестве аргумента передается объект типа FILE, таким образом мы можем передавать потоки в функции, и выполнять различные манипуляции с ними.

Объект типа FILE в памяти размещается автоматически, эта задача лежит на функциях fopen или tmpfile. Задача высвобождения памяти выполняется функцией fclose.

При подключении заголовочного файла <cstdio> в проект, автоматически создаются три объекта типа FILE*, потоки ввода/вывода и стандартный поток ошибок. К этим потокам можно обратиться через указатели stdin, stdout и stderr.

Пример: исходный код программы

//пример использования FILE

#include <cstdio>

int main()
{
   char buffer[100];

   FILE * ptrFile = fopen("file.txt" , "r");

   if (ptrFile == NULL) perror ("Ошибка открытия файла");
   else
   {
     while ( !feof(ptrFile) )                               // пока не конец файла
     {
       if ( fgets(buffer , 100 , ptrFile) != NULL )         // считать символы из файла
         fputs(buffer, stdout);                           // вывод на экран
     }

     fclose (ptrFile);                                      // закрыть файл
   }
   return 0;
}

Эта программа считывает данные из текстового файла file.txt и отправляет считанные данные в стандартный поток вывода.

CppStudio.com
Цитата из фантастического фильма «Хроники Риддика»:
«Нет будущего, пока мы не разберемся в нашем прошлом.»

Что-то в этой цитате есть, что заставляет задуматься, не помню, кто это сказал, но в этом предложении заложен глубокий смысл.

Автор: admin
Дата: 14.09.2012
Поделиться:

Комментарии

Оставить комментарий

Вы должны войти, чтобы оставить комментарий.