Как можно присвоить имени файлу значение переменной - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Возникла задача, дать файлу имя из значения переменной

х

#include <stdio.h>
#include <stdlib.h>

FILE *file;
 
int main()
{
    char x = 'e';
 
    if ((file = fopen(x, "w")) == NULL)
    {
        printf("Звіт не можливо створити\n");
        system("pause");
    }
    fprintf(file, "e");
    fclose(file);
    
}
Думал так, но возникла ошибка:

1>1.cpp(11): error C2664: fopen: невозможно преобразовать параметр 1 из "char" в "const char *" 1> Для преобразования из целого типа в указатель требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции

Решение задачи: «Как можно присвоить имени файлу значение переменной»

textual
Листинг программы
#include <stdio.h>
#include <stdlib.h>
 
 
FILE *file;
 
int main()
{
    char *name = "file.name";
 
    if ((file = fopen(name, "w")) == NULL)
    {
        printf("Звіт не можливо створити\n");
        system("pause");
    }
    fprintf(file, "e");
    fclose(file);
    
}

Объяснение кода листинга программы

  1. Объявление переменной name типа char* и присвоение ей значения file.name.
  2. Открытие файла с помощью функции fopen() с указанием имени файла (переменная name) и режима записи w.
  3. Проверка на то, что файл не был успешно открыт с помощью оператора == NULL.
  4. Вывод сообщения об ошибке с помощью функции printf().
  5. Вызов системы для приостановки работы программы до нажатия клавиши с помощью функции system(pause).
  6. Запись символа e в файл с помощью функции fprintf(file,e).
  7. Закрытие файла с помощью функции fclose(file).

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

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