Разница между функциями stat, lstat и fstat заключается в том, как они получают информацию об атрибутах файла: 13
- stat возвращает сведения о файле, на имя которого указывает параметр filename. 3 Имя файла должно быть полным или строиться относительно текущей директории для процесса, совершившего вызов. 3 Если имя файла относится к файлу типа «связь», то читается информация об атрибутах файла, на который указывает символическая связь. 3
- lstat идентична stat, но если имя файла относится к файлу типа «связь», то читается информация о самом файле типа «связь». 3
- fstat идентична stat, только файл задаётся не именем, а файловым дескриптором (файл к этому моменту должен быть открыт). 3
Таким образом, stat возвращает информацию о файле, lstat — о ссылке, а fstat — об открытом файле. 14