Есть несколько способов определить имя файла без вмешательства пользователя. Во всех случаях удалите
printf("Enter name of a file you wish to see\n");
gets(file_name);
Замените gets(file_name);
на strcpy(file_name, "Data.txt");
.
Вам также потребуется #include <string.h>
.
Замените file_name[25]
на file_name[] = "Data.txt"
Замените char ch, file_name[25];
на char ch; char *file_name = "Data.txt";
Вы также можете объявить строку как константу: const char *file_name = "Data.txt";
.
Заменить gets(file_name);
with snprintf(file_name, (sizeof(file_name)/sizeof(file_name[0]))-1, "Data.txt");
sizeof(file_name)/sizeof(file_name[0])
вычисляет максимальную длину массива путем деления общего размера массива на длину одного элемента. Мы вычтем 1, чтобы зарезервировать элемент для символа завершения строки '\0'
.
snprintf()
позволит вам построить имя файла программно.
Удалить , file_name[25]
.
Заменить fp = fopen(file_name, "r");
на fp = fopen("Data.txt", "r");
.
Заменить printf("The contents of %s file are:\n", file_name);
на printf("The contents of the file are:\n");
(обратите внимание на потерю функциональности)