2. Функції роботи із файлами
На практике при обработке данных с помощью программ возникает необходимость извлечения информации из файла и записи обработанной информации в файл.
Возможностями языка С предусмотрены функции для работы с файлами.
Прежде чем начать работу с потоками данных из файла, его необходимо открыть с помощью функции fopen(). Эта функция имеет следующий прототип:
Функция fopen() открывает файл с именем filename в режиме, указанном вместо mode. Он может принимать значения, указанные в таблице 2.
Чтобы указать, что файл текстовый, к режиму добавляется t. Например, режим чтения текстового файла – “rt”.
В случае успеха функция возвращает указатель на открытый поток, в случае ошибки - NULL.
Основные функции работы с файловыми потоками
fgetc(FILE *fptr) |
Чтение символа из файла с указателем *fptr |
fputc(int c, FILE *fptr) |
Запись символа с в файл с указателем *fptr |
fgets(char *s, int n, FILE *fptr) |
Чтение строки длиной n в строку с указателем s из файла с указателем *fptr |
fputs(char *s, FILE *fptr) |
Запись строки с указателем s в файл с указателем *fptr |
fscanf(FILE *fptr, “%d(или f,или c)”, &x) |
Считывает из файла с указателем *fptr символ х типа %d (%f, %c) |
fprintf(FILE *fptr, “%d(или f,или c)”, x) |
Записывает в файл с указателем *fptr символ х типа %d (%f, %c) |
После окончания работы с файлом, его необходимо закрыть функцией flose(указатель на поток).
3. Практичне завдання
Написать программу на языке С/С++, используя функции чтения из файла и записи в файл.
Вариант 1.
Написать программу, которая дописывает в файл numbers.txt три целых числа, введенных пользователем. Убедитесь, открыв файл при помощи редактора текста, что в файле находятся введенные числа.
Вариант 2.
Написать программу, которая создает на диске компьютера файл numbers.txt и записывает в него 5 целых чисел, введенных пользователем с клавиатуры. Откройте созданный программой файл и убедитесь, что каждое число находится в отдельной строке.
Вариант 3.
Написать программу, которая считывает текст из файла и вычисляет количество открытых и закрытых скобок. Дописать вычисленные значения в конец строки. Результаты записать в новый файл.
Вариант 4.
Даны два текстовых файла. Создать третий файл из символов, которые записаны в позициях с одинаковыми номерами, и равны между собой.
Вариант 5.
Написать программу, которая вычисляет среднее арифметическое чисел, находящихся в файле numbers.txt. И дописать его в файл.
Вариант 6.
Написать программу, которая позволяет просматривать текстовые файлы (выводит на экран их содержимое), например, файлы исходных программ C++. Имя просматриваемого файла должно вводиться пользователем во время работы программы.
Вариант 7.
Написать программу, которая дописывает в находящийся на диске компьютера файл contacts.txt имя, фамилию и номер телефона, например, вашего товарища. Если файла на диске нет, то программа должна создать его. В файле каждый элемент данных (имя, фамилия, телефон) должен находиться в отдельной строке.
Вариант 8.
Написать программу, которая считывает из файла текст, находит ASCII коды каждой буквы и записывает их в файл.
Вариант 9.
Написать программу, которая считывает из файла текст и определяет количество предложений в нем. Дописать эту информацию в файл.
Вариант 10.
Написать программу, которая считывает информацию из файла и определяет количество букв «а» в тексте. Дописать эту информацию в файл.
Вариант 11.
Написать программу, открывающую файл, название которого введено пользователем с клавиатуры, и дописывающую в него вашу фамилию, имя и отчество.
Вариант 12.
Написать программу, записывающую в файл матрицу 3х3, введенную с клавиатуры.
Вариант 13.
Написать программу, которая записывает в файл текст, введенный с клавиатуры в обратном порядке следования букв, т.е. первая буква текста должна находиться на последнем месте, а последняя – на первом.
Вариант 14.
Написать программу, которая считывает из файла последовательность чисел, находит их сумму и записывает информацию в файл.
Вариант 15.
Написать программу, которая считывает из файла последовательность чисел, находит их произведение и записывает информацию в файл.
Вариант 16.
Написать программу, считывающую информацию из файла и шифрующую ее. Закон шифрования: увеличить ASCII код каждого символа текста на 3. Записать шифр-текст в новый файл. Для дешифрования составить обратную программу.
Вариант 17.
Написать программу, считывающую текст из файла. Поменять местами первую и последнюю букву текста. Записать полученную последовательность символов в новый файл.
Вариант 18.
Написать программу, которая считывает текст из файла и определяет количество абзацев в нем. Полученные данные дописать в файл.
Вариант 19.
Написать программу, которая читает информацию из двух файлов и определяет, в каком из них содержится большее количество символов.
Вариант 20.
Написать программу, которая считывает информацию из файла и выводит на экран только числа, содержащиеся в тексте. Подсчитать их количество.
Вариант 21.
Написать программу, которая считывает информацию из файла и выводит на экран только первое предложение.
Вариант 22.
Написать программу, которая просчитывает значения функций sin(х) и cos(х) в диапазоне х=0..2π и записывает полученные результаты в файл.
Вариант 23.
Написать программу, которая считывает информацию из файла и выводит на экран количество слов в тексте.
Вариант 24.
Написать программу, которая считывает информацию из файла и выводит на экран ASCII код первой буквы текста и его двоичное представление.
Вариант 25.
Дан текстовый файл, содержащий целые числа. Написать программу, удаляющую из него все четные числа.
Приложение 1