DIR *dir_ptr;
struct dirent *dir_entery;
dir_ptr = opendir("/tmp");
while (dir_ptr&&(dir_entery = readdir(dir_ptr))) {
printf("%s \n", dir_entery->d_name);
}
printf("%s \n", strerror(errno));
дает этот вывод:Почему READDIR возвращает нуль и ошибка ввода/вывода на следующий вызов READDIR после первого вызова на каталоге
file_name
dir_name
errno = Remote I/O error
в /tmp
Я один реже и два файла, когда прибудет READDIR после выполнения opendir(dir)
он покидает время и поставить эту ошибку:
errno = Remote I/O error
Почему не удается прочитать файл после директории в каталоге /tmp
?
внимательно изучите инструкцию http://linux.die.net/man/3/readdir – akhil
errno 121 является «EREMOTEIO» (ошибка удаленного ввода-вывода). Возможно, есть проблемы с правами на целевую файловую систему. Вы пытались запустить свою программу с правами пользователя root (supper user), если вы работаете в Ubuntu с помощью 'sudo' –
Я бы предположил, что второй файл имеет необычные атрибуты, имя, права доступа и т. Д. Попробуйте запустить в нижней директории , Может быть, это задыхается от «..»? – chux