Работа с указателями. Программа должна вывести новый видоизменный файл из старого - C (СИ)
Формулировка задачи:
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <math.h> #include <locale.h> #include <string.h> void task(); char open_file(); char creat_new_file(); void result(); int main() { FILE *f, *g; char *str; task(); open_file(*f, *str); creat_new_file(*f, *str); result(*g, *str); fclose(f); fclose(g); return 0; } void task(void) { setlocale(LC_ALL, "Russian"); printf("Задание 10. Вариант 19. Вахрамеевой Дианы БПМ-155\n"); printf("Дан текстовый файл f, состоящий из нескольких строк.\n"); printf("Переписать в файл g все компоненты файла f с заменой в них последовательностей\nсимволов ‘1’ на количество таких символов в последовательности.\n"); } char open_file() { FILE *f; char str[500] = "Если увеличить число грядок на 1, то их количество станет равным 101. Если же уменьшить количество грядок в 10 раз, то их станет 10"; printf("Предложения в файле f : "); printf(str); printf("\n"); f = fopen("fprintf.txt", "w"); fprintf(f, "%s", str); fopen("f.txt", "a"); return str; } char creat_new_file(FILE **f, char *str) { FILE *g; int k = 0; g = fopen("gprintf.txt", "w"); fprintf(g, "%s", *f); fscanf(g, "%s", str); for (int i = 0; i < 500; i++) { if (str[i] == '1') k++; } for (int i = 0; i < 500; i++) { if (str[i] == '1') str[i] = k; } return str; } void result(FILE **g, char *str) { printf(str); }
Решение задачи: «Работа с указателями. Программа должна вывести новый видоизменный файл из старого»
textual
Листинг программы
void result(FILE **g, char *str) { printf("%s", str); }
Объяснение кода листинга программы
В данном коде представлена функция с именем result, которая принимает в качестве аргументов указатель на файл и строку. Функция использует функцию printf для вывода строки.
- В первой строке кода присутствует объявление функции result с двумя аргументами: g и str.
- Второй аргумент функции представлен строкой (char *str).
- Внутри функции происходит вывод строки с помощью функции printf с использованием формата
%s
. - Функция printf выводит строку, представленную в виде аргумента str.
- В данном случае, функция result не выполняет никаких операций над файлом, а только выводит строку.
- Код не содержит никаких проверок на ошибки или исключений.
- В данном случае, функция result не возвращает никакого значения.
- Для вызова функции result необходимо передать указатель на файл и строку в качестве аргументов.
- Данный код не создает новый файл, а только выводит строку.
- Для создания нового файла необходимо использовать функции для работы с файлами, такие как fopen, fclose, fprintf и т.д.
- Данный код не содержит никаких операций с памятью или динамическим выделением памяти.
- Код не содержит никаких операций с потоками ввода/вывода.
- Код не содержит никаких операций с регистрацией или освобождением библиотечных функций.
- Код не содержит никаких операций с файловыми системами или файловыми структурами данных.
- Код не содержит никаких операций с обработкой исключений или ошибок.
- Код не содержит никаких операций с другими функциями или библиотеками.
- Код не содержит никаких операций с другими языками программирования.
- Код не содержит никаких операций с системными вызовами или функциями.
- Код не содержит никаких операций с переменными окружения или конфигурационными файлами.
- Код не содержит никаких операций с сетевыми протоколами или соединениями.