|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Открытие файлаОткрываемые файлы могут использоваться для разных целей: одни для записи, другие для чтения а третьи и для того и для другого. При открытии файла мы указываем, что собираемся делать с файлом. Кроме того, нужно указать какой это файл: текстовый или двоичный. Каждый раз, когда ОС получает запрос на открытие файла, она создает поток и присваивает ему дескриптор (описатель). Дескриптор можно рассматривать как имя поток, хотя обычно он задается числом. Программа может открыть одновременно несколько потоков. Если мы выполняем некоторую операцию, то дескриптор определяет поток, в котором выполняется операция. Поэтому все функции для работы с файлами должны тем или иным образом получать через параметр этот дескриптор. На стандартном уровне, при открытии файла создается специальная структура - file (stdio.h), которая включает в себя дескриптор. typedef struct { short level; /* уровень заполнения буфера*/ unsigned flags; /*флаги состояния*/ char fd; /* дескриптор*/ short bsize; /* размер внутреннего буфера*/ } file Структуры типа file создается при открытии файла. Сначала для нее динамически выделяется память, а потом эта память заполняется значениями, соответствующими данному потоку. На стандартном уровне для открытия файла используется функция fopen, которая позволяет открыть файл для чтения, записи и добавления в конец файла. Файлы открывается при помощи функции fopen, у которой два аргумента. И там и там используются строки. File* fopen("имя_файла", "режим") C:\\FVT\\DATA.TXT(нужно ставить по две \). Режимы описываются с помощью комбинаций. R - открыть файл для чтения. W - открыть новый файл для записи. Если файл существует, то все в нем стирается. A - открыть файл для записи данных в его конец (то есть добавление). Если файл не существует, то будет создан. Модификации: R+ - открыть файл для чтения и записи, если файл не существует, то будет ошибка. W+ - открыть файл для чтения и записи, при записи в существующий файл, информация удаляется. A+ - файл открывается для чтения и добавления. Если файл открывается в текстовом режиме, то добавляется буква T. Если в двоичном режиме, то B. Возможны варианты: zt, zb, z+t, z+b. Если операция открытия выполнена успешно, то функция возвращает указатель на структуру типа файла. Если открыть файл не удалось, то функция возвращает NULL. Каждый раз, после того как в программе используется функция fopen, необходимо проверить завершилась ли операция открытия файла успехом. Завершение работы с файлом означает вызов функции fclose(fp); Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.002 сек.) |