Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Лабораторная работа №6. Цель работы: Освоение навыков работы с текстовыми и двоичными файлами

Файлы

Подготовил:

Студент 2 курса

группы «ИНФ 14-2»

Попов Максим

Проверила:

Водолазкина Н.А.

Алматы, 2015

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

Тема работы: Файлы

Цель работы: Освоение навыков работы с текстовыми и двоичными файлами. Изучение функций создания и открытия потоков. Запись данных в поток, извлечение данных из потока.

Оборудование рабочего места:

· компьютер с загруженной программной средой Borland C Builder.

Общие сведения:

В языке С файл рассматривается как поток, представляющий собой последовательность байтов. Информация о файле заносится в переменную типа FILE. Этот тип объявляет указатель потока, который используется далее во всех операциях с данным файлом. Тип FILE определен в библиотеке stdio.h. Поэтому, если в программе предполагается работа с файлами, то необходимо подключить библиотеку stdio.h:

#include < stdio.h>

Теперь можно описать переменную – указатель потока:

FILE *f;

Функция fopen открывает файл. Синтаксис функции fopen:

FILE *fopen(const char *filename, const char *mode);

Первый параметр filename определяет имя открываемого файла. Второй пара-

метр mode задает режим открытия файла.

Функция fopen возвращает указатель на объект, управляющий потоком. Если файл открыть не удалось, fopen возвращает нулевой указатель NULL. Прекратить работу с файлом можно при помощи функции fclose(FILE *). Эта функция закрывает файл, на который ссылается параметр функции.

 

Персональное задание:

Написать программу, которая работает в одном из двух режимов. Если в текущем каталоге имеется текстовый файл “ tabl.txt ”, то распечатать построчно его содержимое. В противном случае создать файл с таким именем и записать туда таблицу умножения для чисел от 1 до 9.

Переводим блок-схему на язык С++Builder

#include < vcl.h>

#include < fstream>

#pragma hdrstop

#include < iostream>

#include < math.h>

using namespace std;

 

int main(int argc, char* argv[])

{

char *str = new char [1024];

int n=0;

ifstream base(" tabl.txt");

if (! base.is_open())

{

cout < < " fail otsutstvuet";

ofstream bas (" tabl1.txt");

for(i=1; i< 10; ++i)

{

for (int j=1; j< 10; ++j)

{

bas < < i*j< < " ";

}

bas < < endl;

}

bas.close();

}

else

{

ifstream bas(" tabl.txt");

while (! base.eof())

{

bas.getline(str, 1024, '\n');

n++;

}

delete str;

bas.close();

cout < < n < < '\n';

ifstream base1(" tabl.txt");

for(int i=0; i< n; i++)

{

base1> > str;

cout< < str< < endl;

}

base1.close();

system(" pause");

return 0;

}

}

 

Результат выполнения программы:

Случай 1: Файл tabl.txt присутствует

Содержимое файла tabl.txt

 

 

Результат выполнения программы:

Случай 2: Файл tabl.txt отсутствует

 

<== предыдущая лекция | следующая лекция ==>
Что нового внес Боулби | 




© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.