Я использую следующий код, чтобы найти использование диска моего /
Файловая система Статистика
int main()
{
struct statfs *stat;
statfs64("/tmp",stat);
perror("");
printf("%lu \n",stat->f_bfree*stat->f_bsize);
return 0;
}
The PError продолжает печать «Bad Адрес» и случайное число для размера.
Bad address
3264987920
PS: Я пытался sudo ./a.out
, statfs("a.out",stat)
Что может быть проблема?
Спасибо :), который сработал:) Я хотел бы добавить, что 'statfs64' может вызвать ошибку сегментации, которая может быть удалена с помощью' statfs' вместо – rjv
@RajeevS Right. 'statfs()' и 'struct statfs' должны использоваться вместе и' statfs64() 'и' struct statfs64'. Использование последнего устарело; они используются вместо 'statfs()', если определены правильные символы. – glglgl