![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Лабораторная работа №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 отсутствует
|