рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Работа с файловыми потоками в С++. Текстовые файлы.

Работа с файловыми потоками в С++. Текстовые файлы. - раздел Программирование, Лабораторная Работа №13 Работа С Файловыми Потоками В С++. Текст...

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

Работа с файловыми потоками в С++.
Текстовые файлы.

Цель работы: получить практические навыки решения задач с использованием текстовых файлов на языке С++.

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

Потоковый ввод/вывод дисковых файлов.

- ifstream — для ввода, - ofstream — для вывода, - fstream — для чтения и записи данных в один и тот же файл.

Текстовые файлы.

Для создания текстового файла определяют объект класса ofstream и передают конструктору класса имя дискового файла в качестве первого параметра и… ofstream out_file(“Out.txt”, ios::out); Можно объявить константу, определяющую режим открытия файла, например:

Пример 13.2.

# include <fstream>

# include <iostream>

# include <string>

using namespace std:

 

void main()

{ string guote = “Зорко одно лишь сердце. Самого главного глазами не увидишь. А. де Сент Экзюпери”;

ofstrem out_file (“Out_file.txt”, ios::out);

if (! out_file) { cerr<<”Error output file”<<endl;

exit(1);

}

for (int i=0; i<guote.size(); i++)

out_file.put(guote[i]);

cout<<”Конец записи”<<endl;

}

 

Построчное чтение файла.

Обычно построчное чтение и запись файлов работают быстрее посимвольных действий. Для чтения строки из файла воспользуемся функцией getline(), которая является методом класса ifstream. Функция читает строку (в том числе и разделители), пока не встретит символ новой строки ‘n’, помещая ее в буфер (первый аргумент функции). Максимальный размер буфера задается как второй аргумент функции.

Пример 13.3.

# include <fstream>

# include <iostream>

using namespace std:

 

void main()

{ const int LEN=80;

char BUF[LEN];

ifstream in_file (“Input_file.txt”, ios::in);

if (! in_file) { cerr<<”Error input file”<<endl;

exit(1);

}

while (in_file) { in_file.getline(BUF,LEN);

cout<<BUF<<endl;

}

}

 

Построчная запись текста.

Пример 13.4.

# include <fstream>

# include <iostream>

# include <string>

using namespace std:

 

void main()

{ ofstrem out_file (“Out_file.txt”, ios::out);

if (! out_file) { cerr<<”Error output file”<<endl;

exit(1);

}

out_file<<”Я не знаю, где встретитьсяn”;

out_file<<”Нам придется с тобой,n”;

out_file<<”Глобус крутится-вертится,n”;

out_file<<”Словно шар голубойn”;

}

Записываемые строки являются не объектами класса string, а строки типа *char, завершающиеся символом ‘n’.

Признак конца файла.

Признак конца файла анализируется в выражении вида while (! In_file.eof()) { … } Для этой цели нельзя пользоваться циклом

Имена файлов и аргументы командной строки

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

Пример 13.5.

# include <fstream>

# include <iostream>

# include <stdlib.h>

using namespace std;

 

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

{ char I;

char c;

if (argc<=1) { cout<<”usage: primer.exe filename1 [filename2]”;

exit(1);

}

ifstream file;

for(I=1;I<argc-1;I++)

{ if(!file.open(argv[I])) { cout<<”Bad file”;

exit(1);

};

cout<<”file “<<argv[I]<<endl;

while(file)

{ c=file.get();

cout<<c;

};

file.close();

}

}

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

Требования к отчету.

- наименование и цель работы; - краткие теоретические сведения; - формулировку задания своего варианта;

Лабораторное задание.

Для выполнения лабораторной работы необходимо составить программу согласно своему варианту задания.

Варианты заданий

Номер варианта Задание
1, 14 Дан файл f, компоненты которого являются целыми числами. Записать в файл g, компоненты файла f, исключив повторные вхождения чисел.
2, 15 Дан файл f, компоненты которого являются действительными числами. Найти:
  1. наибольшее из значений компонентов f;
  2. наименьшее из значений компонентов с четными номерами;
  3. наибольшее из значений модулей компонентов с нечетными номерами;
  4. сумму наибольшего и наименьшего из значений компонентов файла f;
  5. разность первой и последней компоненты файла f.
3, 16 Дан символьный файл f. Подсчитать число вхождений в файл каждой из букв a, b, c, d, e, f. Результат вывести в файл g в виде таблицы с комментариями.
4, 17 Дан файл f, компоненты которого являются целыми числами. Записать в файл g все четные числа исходного файла, в файл h – все нечетные. Порядок следования чисел сохраняется. Записать в файл g и h комментарии.
5, 18 Дан текстовый файл, содержащий программу на языке С. Проверить эту программу на соответствие числа открывающих и закрывающих фигурных скобок.
6, 19 Дан символьный файл f. Найти и записать в файл g самое длинное слово файла f, снабдив его комментарием.
7, 20 Дан файл f, компоненты которого являются целыми числами. Получить в файле g все компоненты файла f:
  1. являющиеся четными числами;
  2. делящиеся на 3 и не делящиеся на 7;
  3. являющиеся точными квадратами.
Записать в файл g комментарий.
8, 21 Дан файл f. Создать два файла, записав в первый из них все четные числа, расположив их в порядке возрастания, а во второй – все нечетные, расположив их в порядке убывания.

 

9, 22 Дан текстовый файл f. Переформатировать исходный файл, разделяя его на строки так, чтобы каждая строка содержала столько символов, сколько содержит самая короткая строка исходного файла.
10, 23 Дан файл f. Создать два файла, записав в первый из них среднее геометрическое всех четных чисел, а во второй – среднее арифметическое всех нечетных чисел.
11, 24 Дан числовой файл f. Выбрать все значения, которые делятся нацело на 2 и 4, но не делятся на 6. Записать эти значения в файл g, а все остальные – в файл h.
12, 25 Дан текстовый файл f. Определить, являются ли первые два символа цифрами и если да, то четно ли это число. Записать его в файл g, если оно четно и в h ,если оно нечетно.
13, 26 Дан текстовый файл f. Создать новый файл g и переписать в него исходный в обратном порядке, разделив пробелами.

 

– Конец работы –

Используемые теги: работа, файловыми, потоками, Текстовые, файлы0.061

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Работа с файловыми потоками в С++. Текстовые файлы.

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Модуль 1. Системное обеспечение информационных процессов. Лекция №2. Файловые менеджеры. Программы для обслуживания и настройки компьютера. План лекции. Работа с файловой системой при помощи Проводника. Альтернативные файловые менеджеры Total Commander
Лекция Файловые менеджеры Программы для обслуживания и настройки компьютера... План лекции... Работа с файловой системой при помощи Проводника Альтернативные файловые менеджеры Total Commander Far...

Работа с файловыми потоками в С++. Двоичные файлы.
На сайте allrefs.net читайте: "Работа с файловыми потоками в С++. Двоичные файлы."

Лабораторная работа № 6 ТЕКСТОВЫЕ ФАЙЛЫ
Буфер... Ввод данных в файл и вывод их из файла организуется через буфер Буфер... Для некоторых типов файлов размер буфера можно определять программно обычно размер задается по умолчанию...

Организационный этап выполнения курсовой работы 2.1 Примерная тематика курсовой работы . 3 Основной этап выполнения курсовой работы 3.1.1 Назначение и место ученого предмета дисциплины
стр Введение... Введение Реформирование национальной системы высшего образования связанное с введением нового перечня специальностей общегосударственного классификатора...

Контрольная работа МЕТОДИЧЕСКИЕ УКАЗАНИЯ Для самостоятельной работы и к выполнению контрольной работы для студентов заочного обучения всех специальностей
Информатика... Контрольная работа... Для направлений бакалавриата Землеустройство и кадастры...

ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ТЕХНОЛОГИИ СОЦИАЛЬНОЙ РАБОТЫ. ОБЩИЕ ТЕХНОЛОГИИ СОЦИАЛЬНОЙ РАБОТЫ. МЕЖДИСЦИПЛИНАРНЫЕ ТЕХНОЛОГИИ И МЕТОДИКИ СОЦИАЛЬНОЙ РАБОТЫ
Учебник подготовлен коллективом авторов... гл канд искусствовед наук проф Т В Шеляг гл д р... наук проф П Д Павленок...

требования к оформлению текстовой части курсовых работ, рефератов, контрольных работ, отчетов по практикам, лабораторным работам
На сайте allrefs.net читайте: "требования к оформлению текстовой части курсовых работ, рефератов, контрольных работ, отчетов по практикам, лабораторным работам"

Понятие воспитательной работы. Роль и место воспитательной работы в системе работы с кадрами
Это, в свою очередь, требует повышения уровня воспитательной работы с личным составом, выделения приоритетов в системе воспитания личного состава,… Вместе с тем в современных условиях принимаемые меры воспитательного… Коллегия МВД России на заседании 23 декабря 1998 г рассмотрев состояние работы с кадрами в системе кадровой политики…

Задания для выполнения контрольной работы и лабораторной работы для самостоятельной работы студентов Менеджмент и маркетинг
На сайте allrefs.net читайте: "Задания для выполнения контрольной работы и лабораторной работы для самостоятельной работы студентов Менеджмент и маркетинг"

MS Word. Строгое форматирование текстов. MS Word. Художественное оформление текстов. Информация
Введение... Раздел Организационно методический Цели и задачи дисциплины Требования к уровню подготовки студента...

0.031
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам