Как можно присвоить имени файлу значение переменной - 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).