Изучение работы с файлами на двух языках программирования: Visual C++ 6.0 и Visual C#

Страницы работы

Содержание работы

Лабораторная работа №2

Тема: Работа с файлами

 
 



Лабораторная работа №2

Работа с файлами.

Цель: изучить работу с файлами на двух языках программирования: Visual C++ 6.0 и Visual C#

Теоретические сведения:

Класс CFile является основным классом, используемым для записи в файл или считывания из него. Он использует некоторые производные классы для считывания данных и их записи в файлы конкретных типов, иногда даже не являющиеся файлами как таковыми. Для выполнения операций записи и считывания не обязательно использовать класс CArchive, обеспечивающий преобразование в последовательную форму. Можно напрямую использовать класс CFile, производя запись и считывание данных в необходимом формате.

Открытие файла:

можно открывать при создании экземпляра класса CFile, где необходимо объявить указатель на экземпляр класса CFile, затем вызвать конструктор CFile с такими параметрами:

CFile *pComFile = new CFile(strFile, CFile::modeRead);

или

применить к файлу преобразование в последовательную форму (не используется указатель):

CFile fComFile (strFile, CFile::modeRead);

Флажки, используемые при открытии файла.

Флажок

Описание

CFile::modeСreate

Создает новый файл. Если файл с указанным именем уже существует, его содержимое стирается.

CFile::modeRead

Файл открывается только в режиме чтения

CFile::modeReadWrite

Файл открывается как в режиме чтения, так и в режиме записи.

CFile::modeWrite

Файл открывается как в режиме записи.

CFile::typeText

Файл открывается в текстовом режиме   и т.д.

Для выполнения операций чтения из открытых файлов и записи в них можно использовать функции Read и Write.

Функция Read имеет следующий синтаксис:

UINT Read (void IpBuf, UINT iCount);

где IpBufуказатель на буфер, в который считываются данные из файла; iCountразмер буфера.

Функция Write имеет следующий синтаксис:

void Write (const void* IpBuf, UINT iCount);

где первый параметр – указатель на буфер, содержащий данные, которые необходимо записать в файл; второй параметр определяет количество данных, которые следует записать из буфера в файл.

Создавался экземпляр класса СArchive со следующим способом создания: CArchive (CFile* pFile, UINTiMode, intiBufSize, void *pBuf).

-  pFile указатель на объект класса СFile;

- iMode определение режима как будет использоваться создаваемый экземпляр: CArchive::load(загрузка)- чтение из файла, CArchive::store –запись в файл;

- iBuffsize – размер используемого буфера(необязательный параметр);

- pBuf – указатель на дополнительный буфер (необязательный параметр).

Большое преимущество класса CArchive перед классом CFile то что к методам чтения и записи относятся методы:

VoidWriteString(LPCTSTRstrText) – записывает в файл строку.

BOOL ReadString(CStringstrText) – считывает из файла строку в strText, если считывание прошло успешно то возвращается TRUE, если конец файла возвращается FALSE.

Если при работе с компонентами класса CFile возникает ошибка, вызывается исключение CFileException.

Класс CFileException имеет несколько членов, с помощью которых можно определить причину возникновения исключения.

Возможные значения причины ошибок.

Флажок

Описание

CFileException::none

Нет ошибок.

CFileException::fileNotFound

Файл не найден.

CFileException::badPath

Указанный путь к файлу неверен.

CFileException::accessDenied

Нет доступа к файлу.

CFileException::hardIO

Аппаратная ошибка         и т.д.

Теоретические сведения о работе с файлами в VisualC#:

Для открытия файла я использовал объект StreamReadr.

StreamReader file = new StreamReader((System.IO.Stream)File.OpenRead("1.txt"),System.Text.Encoding.Default, true, 512);

В качестве параметров указывается:

- путь к файлу;

- тип кодировки текста в файле (Default, ASCII,UTF8,UTF7);

- размер буфера;

Для считывания из файла используется метод объекта StreamReadrReadLine(). Этот медод считывает из файла одну строку по аналогии с методом ReadString() класса Carchive


Приложение на Visual C++ 6.0

Приложение на С.#

Список литературы:

1.  Дэвис Чепмен “Освой самостоятельно. Visual C++.NET за 21 день” - Издательский дом «Вильямс» Москва * Санкт-Петербург * Киев. 2002г.  

2.  Кэйт Грегори “Использование Visual C++ 6.0” - Издательский дом «Вильямс» Москва * Санкт-Петербург * Киев. 2002г.  

Похожие материалы

Информация о работе

Тип:
Отчеты по лабораторным работам
Размер файла:
99 Kb
Скачали:
0