Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБ_ПРОГР.doc
Скачиваний:
8
Добавлен:
12.11.2019
Размер:
1.67 Mб
Скачать

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

Тема: «Работа с текстовыми файлами»

  1. Цель работы

1.1 Получение навыков в программировании ввода и вывода с использованием файлов.

1.2 Получение навыков обработки символьных данных, содержащихся в файлах.

  1. Техническое обеспечение

    1. Персональная ЭВМ IBM PC/286 и более поздних моделей.

    2. Клавиатура.

    3. Дисплей.

    4. Печатающее устройство.

  2. Программное обеспечение

    1. Операционная система Windows

    2. Система программирования Visual C++ версия 6.0 или Borland C++ версия 3.1 и более поздние версии.

  1. Постановка задачи

Создать текстовый файл и выполнить их обработку текста в файле согласно заданного варианта.

  1. Содержание отчета

5.1. Тема и цель работы.

5.2. Схема алгоритма решения задачи.

5.3. Текст программы.

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

  1. Общие сведения

Фундаментом понимания системы ввода-вывода языка С являются концепции потоков и файлов. Система ввода-вывода языка С поддерживает постоянный интерфейс независимо от устройства, к которому обращается программист. То есть система ввода-вывода языка С предоставляет уровень абстракции между программистом и аппаратурой. Данная абстракция называется потоком, а собственно устройство называется файлом. Важно знать, как они взаимодействуют между собой.

    1. Потоки

Хотя каждое устройство ввода-вывода ЭВМ отличается от другого, система ввода-вывода преобразует их в единое логическое устройство  поток. Все потоки похожи своим поведением. Поскольку потоки не зависят от устройств, одни и те же функции могут записывать информацию в файл на диске и использоваться для записи на другое устройство, например, на консоль. Существуют два типа потоков – текстовые и двоичные.

Текстовые потоки – это последовательность символов. В текстовых потоках некоторые символы могут преобразовываться согласно требованиям среды. Например, символ новой строки (‘\n’) может преобразовываться в пару «возврат каретки – перевод строки». Следовательно, может не быть однозначного соответствия между записываемыми и считываемыми символами и символами во внешнем устройстве.

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

    1. Функции обработки символов

Функция

int isalnum(int ch);

возвращает ненулевое значение, если аргумент ch является либо буквой алфавита (верхнего или нижнего регистра), либо цифрой. Иначе возвращается 0. Прототип находится в файле cctype.h.

Функция

int isalpha(int ch);

возвращает ненулевое значение, если аргумент ch является буквой алфавита (верхнего или нижнего регистров). В противном случае возвращается 0. Прототип находится в файле cctype.h.

Функция

int isdigit(int ch);

возвращает ненулевое значение, если аргумент ch является цифрой от 0 до 9, в противном случае возвращается 0. Прототип находится в файле cctype.h.

Функция

int islower(int ch);

возвращает ненулевое значение, если аргумент ch является в противном случае возвращается 0. Прототип находится в файле cctype.h.

Функция

int ispunct(int ch);

возвращает ненулевое значение, если аргумент ch является знаком препинания или пробелом, в противном случае возвращается 0. Прототип находится в файле cctype.h.

Функция

int isspace(int ch);

возвращает ненулевое значение, если аргумент ch является символом пробела, возврата каретки (‘\r’), горизонтальной табуляции (‘\t’), вертикальной табуляции (‘\v’), перевода формата (‘\f’) или новой строки (‘\n’), в противном случае возвращается 0. Прототип находится в файле cctype.h.

Функция

int isupper(int ch);

возвращает ненулевое значение, если аргумент ch является буквой верхнего регистра (от «A» до «Z»), в противном случае возвращается 0. Прототип находится в файле cctype.h.

Функция

int tolower(int ch);

возвращает соответствующий нижнему регистру эквивалент символа ch, если ch – это буква верхнего регистра. В противном случае ch остается неизменным. Прототип находится в файле cctype.h.

Функция

int toupper(int ch);

возвращает соответствующий верхнему регистру эквивалент символа ch, если ch – это буква нижнего регистра. В противном случае ch остается неизменным. Прототип находится в файле cctype.h.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]