Дать возможность пользователю выбрать имя файла для записи - C (СИ)
Формулировка задачи:
Всем доброго времени суток. Вопрос такой: Мне нужно, создать файл для записи в него определенных чисел и имя этого файла должно запрашиваться у пользователя. Так вот, как это реализовать? Ведь, к примеру, в функции fopen нужно вводить конкретное имя файла. Как пример
FILE *f
f = fopen("abs.txt" , "w")
Решение задачи: «Дать возможность пользователю выбрать имя файла для записи»
textual
Листинг программы
#include <stdio.h>
main(){
FILE *in_file;
char file_name[200];
char str[200];
printf("\n Имя файла:");
gets(file_name);
in_file=fopen(file_name,"rt");
if(in_file==NULL){
printf("Ошибка открытия файла %s",file_name);
return 1;
}
while(feof(in_file)==0){
if(fgets(str,200,in_file)!=NULL){
printf("%s",str);
}
}
fclose(in_file);
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки для работы с файлами (stdio.h).
- Объявление двух переменных типа char массива: file_name и str, каждая из которых может хранить до 200 символов.
- Вывод сообщения с просьбой ввести имя файла для чтения.
- Считывание введенного пользователем имени файла и сохранение его в переменной file_name.
- Открытие файла с указанным именем в режиме чтения (rt).
- Проверка на успешное открытие файла. Если файл не удалось открыть, выводится сообщение об ошибке и программа завершается.
- Организация цикла while, который будет выполняться до тех пор, пока не достигнут конец файла (feof(in_file)==0).
- Внутри цикла проверка на успешное считывание строки из файла (fgets(str,200,in_file)!=NULL).
- Если строка успешно считывается, она выводится на экран.
- Закрытие файла после окончания чтения.