проблема с открытым файлом dir - PullRequest
0 голосов
/ 25 марта 2011

Я использую ОС Linux и пытаюсь открыть файл в компиляторе C следующим образом:

  file = fopen ("list.txt", "r");

, но файл не открыт!

и когда я указываю полный путьвот так:

   file = fopen ("/home/rami/Desktop/netfilter/list.txt", "r");

это работает!

почему первый пример не работает?

  • list.txt находится в том же каталоге, что и файл c, спасибо.

Ответы [ 3 ]

5 голосов
/ 25 марта 2011

Важен не каталог C файла, а ваш текущий рабочий каталог .Попробуйте

cd /home/rami/Desktop/netfilter

перед запуском исполняемого файла.

2 голосов
/ 25 марта 2011

Знаете ли вы, ПОЧЕМУ файл не открылся?

Всегда проверяйте возвращаемое значение fopen() (и большинство других функций) и сообщайте о читаемой ошибке.

file = fopen("file.txt", "r");
if (!file) {
    perror("file open");
    exit(EXIT_FAILURE);
}

Я вижу, вы уже выяснили, в чем заключается ваша проблема, но вышеизложенное является предложением на будущее (и для изменения вашего текущего проекта)

0 голосов
/ 25 марта 2011

Исполняемый файл также находится в том же каталоге, что и list.txt?

Редактировать: На самом деле это не имеет значения. Это текущий рабочий каталог согласно другому ответу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...