- •Ю.А Петров Программирование на языке высокого уровня
- •Часть 1
- •Введение
- •Задание
- •Комментарии
- •Идентификаторы
- •Ключевые слова
- •Константы
- •Управляющие последовательности
- •Строковые литералы
- •Константные выражения
- •Пунктуаторы
- •Операции
- •Задание на лабораторную работу 2 разработка программы линейной структуры Цель работы
- •Отчет по лабораторной работе должен содержать:
- •Задание
- •Замечания
- •Варианты заданий
- •Классификация ошибок
- •Ошибки, не обнаруженные компилятором
- •Ситуации, возникающие при неверных результатах
- •Отладка программы
- •Предупреждения
- •Первое сообщение об ошибке
- •Использование команд Find и Replace
- •Быстрое обнаружение ошибочных строк
- •Продолжение отладки
- •Использование встроенного отладчика
- •Разница между командами Step Into и Step Over
- •Дополнительные средства отладки
- •Работа с точками останова
- •Краткая характеристика объектов
- •Формат 1:
- •Стиль программирования
- •Задание на лабораторную работу 4 объекты и их характеристики Цель работы
- •В отчете по лабораторной работе следует представить:
- •5 Структурное программирование
- •Пример1
- •Пример 2
- •Задание на лабораторную работу 5 разработка программы со структурой «развилка» Цель работы
- •Задание:
- •Варианты задания
- •Задание на лабораторную работу 6 создание цикловых программ с фиксированным числом повторений Цель работы
- •Задание
- •Варианты задания
- •Задание на лабораторную работу 7 создание программ с итерационными циклами Цель работы
- •Задание
- •Варианты задания
- •Пояснения к выполнению лабораторной работы 7
- •6 Агрегаты данных
- •Структура
- •Объединения
- •Перечисления
- •Int array[3]; // Объявление определения;
- •Многомерные массивы
- •Вывод в файловый поток
- •Чтение из входного файлового потока
- •Чтение целой строки файлового ввода
- •Определение конца файла
- •Проверка ошибок при выполнении файловых операций
- •Закрытие файла
- •Управление открытием файла
- •Выполнение операций чтения и записи
- •Задание на ргз 1 использование структур данных при решении задач Цель работы
- •Задание
- •Варианты задания
- •7 Модульное программирование
- •Задание на ргз 2 использование модульного программирования при решении задач
- •Перемещаемые панели инструментов
- •Меню File
- •Меню Edit
- •Меню View
- •Меню Insert
- •Меню Project
- •Меню Build
- •Меню Tools
- •Меню Window
- •Список открытых окон
- •Меню Help
- •Приложение 2 Некоторые функции языка с
- •Используемая литература
- •Оглавление
- •5 Структурное программирование 53
Вывод в файловый поток
При выполнении РГЗ 1 можно использовать новые потоки ввода/вывода, созданные на основе классов, для чего нужно подключить директиву
#include<iostream.h>
Поток cout представляет собой объект типа ostream (выходной поток). Используя класс ostream, можно выполнять вывод в cout с использованием оператора вставки или различных методов класса, например cout.put. Заголовочный файл iostream.h определяет выходной поток cout. Аналогично, заголовочный файл fstream.h определяет класс выходного файлового потока с именем ofstream. Используя объекты класса ofstream, можно выполнять вывод в файл. Для начала нужно объявить объект типа ofstream, указав имя требуемого выходного файла как символьную строку:
ofstream file_object("FILENAME.EXT");
Если указано имя файла при объявлении объекта типа ofstream, язык C++ создаст новый файл на диске, используя указанное имя, или перезапишет файл с таким же именем, если он уже существует на диске.
Следующая программа OUT_FILE.CPP создает объект типа ofstream и затем использует оператор вставки для вывода нескольких строк текста в файл BOOKINFO.DAT:
#include <fstream.h>
void main(void)
{
ofstream book_file("BOOKINFO.DAT");
book_file << "Используем потоки вывода в файл, " << "Реализация С++" << endl;
book_file << "На классах" << endl;
book_file << "2009" << endl;
}
В данном случае программа открывает файл BOOKINFO.DAT и затем записывает в него три строки:
Используем потоки вывода в файл, Реализация С++
На классах
2009
Таким образом, используя класс ofstream, можно быстро выполнить операции вывода в файл.
Чтение из входного файлового потока
Аналогично операциям вывода можно выполнить операции ввода из файла, используя объекты типа ifstream. Можно создать объект, передавая ему в качестве параметра требуемое имя файла:
ifstream input_file("filename.EXT");
Следующая программа FILE_IN.CPP открывает созданный файл BOOKINFO.DAT и читает его, а затем отображает первые три элемента файла:
#include <iostream.h>
#include <fstream.h>
void main(void)
{
ifstream input_file("BOOKINFO.DAT") ;
char one[64], two[64], three[64];
input_file >> one;
input_file >> two;
input_file >> three;
cout << one << endl;
cout << two << endl;
cout << three << endl;
}
Подобно потоку cin, входные файловые потоки используют пустые символы, чтобы определить, где заканчивается одно значение и начинается другое. В результате при этой программе на дисплее появится следующий вывод:
Используем
потоки
вывода
Чтение целой строки файлового ввода
Известно, что для чтения целой строки с клавиатуры можно использовать функцию cin.getline. Подобным образом объекты типа ifstream могут использовать getline для чтения строки файлового ввода. Следующая программа FILELINE.CPP использует функцию getline для чтения всех трех строк файла BOOKINFO.DAT. Например:
#include <iostream.h>
#include <fstream.h>
void main(void)
{
ifstream input_file("BOOKINFO.DAT");
char one[64], two[64], three [64] ;
input_file.getline(one, sizeof(one)) ;
input_file.get line(two, sizeof(two));
input_file.getline(three, sizeof(three)) ;
cout << one << endl;
cout << two << endl;
cout << three << endl;
}
В этом случае программа успешно читает все три строки файла. Однако во многих случаях ей неизвестно, сколько строк содержится в файле. В таких случаях она будет просто продолжать чтение содержимого файла пока не встретит конец файла.