سؤال

والسؤال يقول كل شيء. أريد C استدعاء دالة الذي يعود للقائمة التي شنت نظام الملفات جنبا إلى جنب مع المعلومات ذات الصلة مثل نوع نظام الملفات.

هل كانت مفيدة؟

المحلول

أنت تبحث عن getmntent وظائف *mntent أخرى الأسرة. انظر manpage لمزيد من المرجعية.

ورمز المثال مأخوذ من هنا وقليلا تعديلها. /etc/mtab هو الملف الذي يحتوي على قائمة من أنظمة الملفات المحملة.

mounts = setmntent("/etc/mtab", "r");
while ( (ent = getmntent(mounts)) != NULL ){
    if (strcmp(ent->mnt_type, "iso9660") == 0)
       /* copy mount point to output */
       strcpy(retval[cd_count - 1], ent->mnt_dir);
    } /* if */
} /* while */
endmntent(mounts);

ولسوء الحظ، هذه الوظائف ليست في POSIX. لكنهم manpaged وتنفيذها في سي العمومية، لذلك أعتقد أنهم بديل أفضل من تحليل /proc.

نصائح أخرى

ويمكنك تحليل /proc/filesystems.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top