Заголовочный файл
Название | Язык |
---|---|
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
и отправляет считанные данные в стандартный поток вывода.
«Нет будущего, пока мы не разберемся в нашем прошлом.»
Что-то в этой цитате есть, что заставляет задуматься, не помню, кто это сказал, но в этом предложении заложен глубокий смысл.
Комментарии