Слайд 2Файлы
Файл - это именованный блок информации, расположенный на носителе информации.
Любой файл обладает
следующим рядом особенностей:
•Файл не может располагаться на диске непрерывно, однако пользователю файл предоставляется цельным блоком последовательной байтовой информации.
•Название файла не может содержать символы: < > : " / \ |.
•Файл обладает расширением - сочетанием символов, с
помощью которых операционная система определяет тип файла. Расширение - необязательная часть.
•У каждого файла есть, так называемые атрибуты, которые, например, определяют уровни доступа к нему. Используя атрибуты, операционная система узнает, как нужно и, главное, можно, работать с данным файлом.
Слайд 3Открытие файла
Прототип функции fopen:
FILE * fopen_s(FILE *file, const char * fname, const
char * modeopen);
Функция fopen_s открывает файл, имя которого указано в параметре fname и связывает его с потоком, который может быть идентифицирован для выполнения различных операций с файлом.
Операции с потоком, выполнение которых разрешено определяются параметром modeopen.
Слайд 4Открытие файла
Указатель файла – это указатель на структуру типа FILE. В программе,
прежде всего, следует задать указатель на структуру FILE:
FILE *fp;
Слайд 5Дескриптор файла и файловый указатель
1.Дескриптор файла - уникальный номер, который операционная система
присваивает любому открытому файлу, чтобы отличать его от других. Когда файл закрывается, система "отбирает" у него дескриптор. Именно это уникальное число мы будем использовать для работы с конкретным файлом в наших программах.
2.Файловый указатель - специальная переменная, которая автоматически присваивается открытому файлу и хранит текущую позицию в файле. Она перемещается по файлу в момент процессов записи и чтения. Для большего понимания, вы можете представить
данную переменную в виде курсора в любом текстовом редакторе.
Слайд 8Пример работы
#include
#include
using namespace std;
int main()
{
FILE * pFile;
fopen_s(&pFile, "file.txt", "w");
if (pFile
!= NULL)
{
fputs("Я выучу С++!!!. ", pFile);
// записать строку в файл
fclose(pFile);
}
else
{
cout << "ERROR" << endl;
}
system("pause");
return 0;
}
Слайд 9Пример работы
#include
#include
using namespace std;
int main()
{
setlocale(LC_ALL, "rus");
FILE * ptrFile;
fopen_s(&ptrFile ,"d:\\file.txt", "r");
char
mystring[100];
if (ptrFile == NULL)
cout << "ERROR";
else
{
if (fgets(mystring, 100, ptrFile) != NULL)
puts(mystring);
fclose(ptrFile);
}
system("pause");
return 0;
}