Работа с файлами
Автор: Ingvari • Май 26, 2024 • Лабораторная работа • 1,211 Слов (5 Страниц) • 74 Просмотры
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»
КАФЕДРА № 14
ЛАБОРАТОРНАЯ ЗАЩИЩЕНА ОЦЕНКОЙ
РУКОВОДИТЕЛЬ
Ассистент | Н.Ю. Чумакова | |||
должность, уч. степень, звание | подпись, дата | инициалы, фамилия |
Лабораторная работа №9 |
РАБОТА С ФАЙЛАМИ |
по дисциплине: «Программирование» |
ВЫПОЛНИЛ
СТУДЕНТ ГР. | |||||
подпись, дата | инициалы, фамилия |
Санкт-Петербург 2021г.
- Цель работы:
Получение навыков чтения и записи информации из файлов. - Постановка задачи:
Скопировать содержимое текстового файла, ограничив длину строки N символами. Слова, не помещающиеся в строку заданной длины, не копировать. - Формализация задачи:
Исходные данные должны быть считаны из файла "test.txt", результат записан в файл "result.txt".
- Набор тестовых примеров для проверки
[pic 1]
Все тестовые примеры сходятся с решением программы.
5.Схема алгоритма программы[pic 2]
[pic 3]
Рисунок 1- Схема алгоритма. Функция int main(void)
- Листинг программы:
#include <locale.h>
#include <stdio.h>
#define YES 1
#define NO 0
#define MAXLINE 1024
int main(void)
{
setlocale(LC_ALL, "Russian");
int N;
printf("Введите максимальную длину строки: ");
scanf_s("%d", &N);
int cur_len = -1,
in_word = NO; // признак слова
char line[MAXLINE], // текущая строка
* ptr,
* ptr_beg_of_cur;
FILE* fpin,
* fpout;
fopen_s(&fpin, "test.txt", "rt");
if (fpin == NULL) return 0; // ошибка при открытии файла
fopen_s(&fpout, "result.txt", "wt");
if (fpout == NULL) return 0; // ошибка при открытии файла
while (!feof(fpin)) // цикл до конца файла
...