Cчитываю имя файла в функции main и передаю в функцию input_from_file:
char file_name[10]; // переменная в которую записывается имя файла
char extension[6] = { ".txt\0" }; // переменная для расширения имени файла
puts("Введите название файла в пределах 30 символов (без указания расширения файла)");
scanf("%s", &file_name); // считываем имя файла
printf("Имя файла: %s\n", file_name); // Выводим на экран имя файла
size = input_from_file(file_name); // используем функцию, чтобы считать количество команд из файла
Внутри функции input_from_file использую strcat, чтобы соединить имя файла и его расширение:
int input_from_file(char filename) {
char extension[6] = { ".txt\0" };
int size = 0;
FILE* table_l;
strcat(filename, extension);
//printf("%s", filename);
table_l = fopen(filename, "rt");
while (!feof(table_l)) {
if (fgetc(table_l) == '\n')
size += 1;
}
fclose(table_l);
return size;
}
Но выдает ошибку нарушение прав доступа при чтении по адресу...
Но когда я переношу все вот, что в main внутрь функции, то все работает как надо.