Я нашел элемент структуры (имя d_fileno) 'struct dirent' от Gnu C library [dirent.h] .
Я прочитал документацию, но я не понял значения серийного номера файла. Я не нашел удовлетворительного ответа на Google.
Итак, я решил написать программу, чтобы посмотреть, как выглядит серийный номер файла.Какой файл является серийным номером?
Выход
$./fileno ..
file_serial_number file_name
[6838726] [source]
[6562883] [..]
[6838661] [lstfl]
[6838718] [.]
[6826161] [research]
[6838720] [starcase]
Итак, в чем смысл этих чисел?
Связанная часть из программы:
...
while((pDirent = readdir(pDir)) != NULL)
{
printf("[%li]\t\t [%s]\n",pDirent->d_fileno, pDirent->d_name);
}
closedir(pDir);
...
Термин FSN предназначен быть нейтральным термином, который соответствует некоторому понятию в любой файловой системе, даже в файловых системах, которые не имеют понятия иноды сама по себе. С точки зрения 'struct stat', он соответствует' st_ino' (как ссылается страница, на которую вы ссылаетесь); комбинация 'st_ino' и' st_dev' должна однозначно идентифицировать файл. Обратите внимание, что 'd_fileno' не является стандартным для POSIX; только элемент 'd_name'' struct dirent' задан POSIX (также как указано на странице, на которую вы ссылаетесь). –