Дать возможность пользователю выбрать имя файла для записи - 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).
- Если строка успешно считывается, она выводится на экран.
- Закрытие файла после окончания чтения.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д