Работа с указателями. Программа должна вывести новый видоизменный файл из старого - 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 для вывода строки.

  1. В первой строке кода присутствует объявление функции result с двумя аргументами: g и str.
  2. Второй аргумент функции представлен строкой (char *str).
  3. Внутри функции происходит вывод строки с помощью функции printf с использованием формата %s.
  4. Функция printf выводит строку, представленную в виде аргумента str.
  5. В данном случае, функция result не выполняет никаких операций над файлом, а только выводит строку.
  6. Код не содержит никаких проверок на ошибки или исключений.
  7. В данном случае, функция result не возвращает никакого значения.
  8. Для вызова функции result необходимо передать указатель на файл и строку в качестве аргументов.
  9. Данный код не создает новый файл, а только выводит строку.
  10. Для создания нового файла необходимо использовать функции для работы с файлами, такие как fopen, fclose, fprintf и т.д.
  11. Данный код не содержит никаких операций с памятью или динамическим выделением памяти.
  12. Код не содержит никаких операций с потоками ввода/вывода.
  13. Код не содержит никаких операций с регистрацией или освобождением библиотечных функций.
  14. Код не содержит никаких операций с файловыми системами или файловыми структурами данных.
  15. Код не содержит никаких операций с обработкой исключений или ошибок.
  16. Код не содержит никаких операций с другими функциями или библиотеками.
  17. Код не содержит никаких операций с другими языками программирования.
  18. Код не содержит никаких операций с системными вызовами или функциями.
  19. Код не содержит никаких операций с переменными окружения или конфигурационными файлами.
  20. Код не содержит никаких операций с сетевыми протоколами или соединениями.

Оцени полезность:

11   голосов , оценка 3.818 из 5
Похожие ответы