При использовании функции fgets () и вводе абсолютно правильного имени файла программа не может открыть файл - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Прошу прощение за беспокойство и за глупый вопрос, но вoобщем проблема такая: Программа определяет существует ли в текущей директории файл с именем введённым пользователем.
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main() {
  4. FILE *input; //объявление указателя на файл
  5. char file_name[256]; //объявление массива символов для хранения имени файла
  6. system("DIR");
  7. printf("\n");
  8. fgets(file_name, 256, stdin); //считывание имени файла
  9. input = fopen(file_name, "r");
  10. if (input != NULL) //проверка был ли файл успешно открыт
  11. printf("File is found");
  12. else
  13. printf("File not found");
  14. return 0;
  15. }
При использовании функции fgets() и вводе абсолютно правильного имени файла программа не может открыть файл, но если использовать gets() всё успешно открывается. Использую компилятор MinGW. Был бы признателен и премного благодарен, тому кто поможет разобраться.

Решение задачи: «При использовании функции fgets () и вводе абсолютно правильного имени файла программа не может открыть файл»

textual
Листинг программы
  1. void chomp(char* str)
  2. {
  3.     while( *str ) {
  4.         if( *str == '\n' ) {
  5.             *str = '\0';
  6.             break;
  7.         }
  8.         ++str;
  9.     }
  10. }

Объяснение кода листинга программы

  1. В функции chomp определенный указатель на строку str.
  2. В цикле while происходит проход по всем символам строки str.
  3. Если символ равен символу новой строки '\n', то этот символ заменяется на символ конца строки '\0' и из цикла выходится.
  4. Если символ не равен символу новой строки, то указатель на строку увеличивается на 1.
  5. Функция chomp предназначена для удаления символов новой строки из строки.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы