Как можно присвоить имени файлу значение переменной - 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); }
Объяснение кода листинга программы
- Объявление переменной
name
типаchar*
и присвоение ей значенияfile.name
. - Открытие файла с помощью функции
fopen()
с указанием имени файла (переменнаяname
) и режима записиw
. - Проверка на то, что файл не был успешно открыт с помощью оператора
== NULL
. - Вывод сообщения об ошибке с помощью функции
printf()
. - Вызов системы для приостановки работы программы до нажатия клавиши с помощью функции
system(
pause)
. - Запись символа
e
в файл с помощью функцииfprintf(file,
e)
. - Закрытие файла с помощью функции
fclose(file)
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д