هل هناك طريقة قياسية للقيام بـ findfirst وfindnext مع gcc على نظام التشغيل Linux باستخدام stl؟
سؤال
لا يبدو أنني أستطيع العثور على _findfirst / findfirst، _findnext / findnext API على gcc لنظام التشغيل Linux، وفي الواقع أفضل استخدام مكتبة النماذج القياسية (STL) لذلك إذا تم تضمينها هناك.
هل يعرف أحد ما هي واجهة برمجة التطبيقات المتوفرة لإدراج الملفات في دليل ضمن Linux لـ C++ (gcc)؟
المحلول
وتحقق من Boost.Filesystem المكتبة.
وعلى وجه الخصوص، basic_directory_iterator .
نصائح أخرى
إنها ليست واجهة برمجة تطبيقات بنمط C++، ولكن واجهة برمجة التطبيقات التي لم تجدها (مراسل Linux/Unix لـ DOS/Windows style findfirst/findnext) هي opendir/readdir/Closedir.
الميزة الرئيسية لاستخدام opendir/readdir/Closedir هي أنك لا تحتاج إلى أي مكتبة إضافية (إنها جزء من مكتبة C، التي تستخدمها بالفعل).في الواقع، تستخدم مكتبة نظام ملفات Boost opendir/readdir/Closedir للحصول على قائمة الملفات الموجودة في الدليل.
مراجع:
والمحكمة الخاصة بلبنان لا، ولكن، لها وظائف لإدراج الملفات في الدليل. ولكن لا توجد لديها وظائف لفتح الملفات كنت على علم بالفعل.
وبصرف النظر عن Boost.Filesystem، وهناك أيضا STLSoft