Name input.txt output.txt
где name - имя исполняемого файла задачи (name.exe). При этом функция main() должна быть оформлена в виде:
main(int argc, char* argv[])
{
…
При запуске программы с командной строкой параметр argc получает значение, равное количеству параметров в строке (включая имя задачи), а элементы массива argv – адреса строк - параметров. Например, для вышеприведенного примера
argс = 3;
argv[0] = " name";
argv[1] = " input.txt";
argv[2] = " output.txt";
3. Методические указания
В лабораторной работе требуется написать две программы для обработки текстовых файлов. Одна из них выполняет построчную, другая посимвольную обработку. Ввод параметров должен быть организован в командной строке запуска программы.
Исходный файл должен быть создан с помощью любого текстового редактора. При обработке текста рекомендуется использовать функции из стандартной библиотеки СИ для работы со строками, преобразования и анализа символов.
4. Порядок выполнения работы
4.1. Написать программу, обрабатывающую текстовый файл и записывающую обработанные данные в файл с таким же именем, но с другим типом (табл. 6.1)
4.2. Написать программу, выполняющую посимвольную обработку текстового файла (табл. 6.2.).
Ввод параметров организовать в командной строке запуска программы.
Таблица 6.1
Вари
ант
| Задание
| Параметры командной строки
|
| Исключить строки с длиной, больше заданной
| 1. Имя входного файла
2. Заданная длина строки
|
| Оставить только строки, начинающиеся с латинских букв
| 1. Имя входного файла
2. Количество обрабатываемых строк
|
| Исключить строки, начинающиеся с заданного слова
| 1. Имя входного файла
2. Заданное слово
|
| Оставить строки, начинающиеся с заданной буквы
| 1. Имя входного файла
2. Заданная буква
|
| Исключить строки с количеством пробелов, больше заданного числа
| 1. Имя входного файла
2. Заданное количество пробелов
|
| Оставить строки, не содержащие цифры
| 1. Имя входного файла
2. Количество обрабатываемых строк
|
| Исключить строки, начинающиеся заданной парой символов
| 1. Имя входного файла
2. Заданная пара символов
|
| Оставить строки, заканчивающиеся цифрами
| 1. Имя входного файла
2. Максимальная длина строки
|
| Исключить строки, содержащие хотя бы один заданный символ
| 1. Имя входного файла
2. Заданный символ
|
| Оставить строки, содержащие заданное количество цифр
| 1. Имя входного файла
2. Заданное количество цифр
|
| Исключить строки, содержащее заданное слово
| 1. Имя входного файла
2. Заданное слово
|
| Оставить строки, где все слова имеют длину больше указанной
| 1. Имя входного файла
2. Длина слова
|
| Исключить строки, начинающиеся и заканчивающиеся заданным символом
| 1. Имя входного файла
2. Заданный символ
|
| Оставить строки, заканчивающиеся заданным словом
| 1. Имя входного файла
2. Заданное слово
|
| Исключить строки, не содержащие ни одного заданного символа
| 1. Имя входного файла
2. Заданный символ
|
| Оставить строки, где все слова имеют длину меньше указанной
| 1. Имя входного файла
2. Длина слова
|
| Исключить строки, в которых есть слова короче указанной длины
| 1. Имя входного файла
2. Длина слова
|
| Оставить строки, в которых указанное слово встречается более одного раза
| 1. Имя входного файла
2. Заданное слово
|
| Исключить строки, в которых есть хотя бы один не алфавитно-цифровой символ
| 1. Имя входного файла
2. Количество обрабатываемых строк
|
| Оставить строки с количеством слов, меньшим указанного
| 1. Имя входного файла
2. Количество слов
|
Таблица 6.2
Вариант
| Задание
| Параметры командной строки
|
| Удалить из текста заданный символ
| 1. Имя входного файла
2. Заданный символ
|
| В конце каждой строки вставить заданный символ
| 1. Имя входного файла
2. Заданный символ
|
| Заменить цифры на пробелы
| 1. Имя входного файла
2. Количество замен
|
| Заменить знаки на заданный символ
| 1. Имя входного файла
2. Заданный символ
|
| Заменить каждый пробел на два
| 1. Имя входного файла
2. Количество замен
|
| После каждой точки вставить символ ‘\n’
| 1. Имя входного файла
2. Количество замен
|
| Удалить из текста все пробелы
| 1. Имя входного файла
2. Количество замен
|
| Заменить заданные символы на пробелы
| 1.Имя входного файла
2. Заданный символ
|
| После каждого пробела вставить точку
| 1.Имя входного файла
2. Количество вставок
|
| Заменить все пробелы первым символом текста
| 1. Имя входного файла
2. Максимальное количество замен
|
| Во всех парах одинаковых символов второй символ заменить на пробел
| 1. Имя входного файла
2. Количество замен
|
| Заменить на пробелы все символы, совпадающие с первым символом в строке
| 1. Имя входного файла
2. Количество замен
|
| Заменить заданную пару букв на символы #@
| 1. Имя входного файла
2. Заданная пара букв
|
| Заменить все цифры заданным символом
| 1. Имя входного файла
2. Заданный символ
|
| Заменить на пробел все символы, совпадающие с последним символом в строке
| 1. Имя входного файла
2. Количество замен
|
| Заменить все символы с кодами меньше 48 на пробелы
| 1. Имя входного файла
2. Количество замен
|
| Заменить все символы с кодами больше 48 на пробелы
| 1. Имя входного файла
2. Количество замен
|
| Заменить каждый третий символ на пробел
| 1. Имя входного файла
2. Количество замен
|
| Заменить все пробелы на заданный символ
| 1. Имя входного файла
2. Заданный символ
|
| Заменить все пары одинаковых символов на пробелы
| 1. Имя входного файла
2. Количество замен
|
5. Содержание отчета
5.1. Задание.
5.2. Листинги программ по пп.4.1 и 4.2.
5.3. Тестовый пример.
6. Контрольные вопросы
6.1. Назначение указателя FILE*.
6.2. Стандартные функции открытия/закрытия файлов.
6.3. Стандартные функции для построчной обработки файлов.
6.4. Стандартные функции для посимвольной обработки файлов.
6.5. Стандартные функции работы со строками.
6.6. Буферизованный и небуферизованный ввод/вывод.
6.7. Передача параметров в программу при ее запуске.
6.8. Проверка корректности выполнения операций файлового ввода-вывода.
6.9. Режимы открытия файлов.
6.10. Перенаправление стандартного ввода/вывода.
ЛИТЕРАТУРА
1. В. Керниган, Я. Ритчи. Язык программирования Си. М.: Мир, 1988.
2. И. Уэйт, С. Прата, Д. Мартин. Язык Си. Руководство для начинающих. М.: Мир, 1988.
3. Н. Джехани. Программирование на языке Си. М.: Радио и связь, 1968.
4. Р. Берри, Б. Ликинз. Язык Си. Введение для программистов. М.: Финансы и статистика, 1988.
5. М. Дансмур, Г. Дейвис. ОС UNIX и программирование на языке Си. М.: Радио и связь, 1989.
6. М. Болски. Язык программирования Си: Справочник. М.: Радио и связь, 1988.
7. Л.М. Романовская и др. Программирование в среде СИ для ПЭВМ ЕС. М.: Финансы и статистика, 1992.
8. В. В. Подбельский, С. С. Фомин. Программирование на языке Си. М: Финансы и статистика, 2000.
|