ইউনিক্সের একটি লাইব্রেরি রয়েছে যা আপনার জন্য ফাইল গ্লোব্বিং অপারেশন সম্পাদন করতে পারে। ফাংশন এবং প্রকারগুলি নামক হিসাবে পরিচিত হয় glob.h
, যাতে আপনার এটির দরকার হয় #include
। যদি কোনও টার্মিনাল খোলে তবে টাইপ করে গ্লোবের জন্য ম্যান পৃষ্ঠা খুলুন man 3 glob
আপনি ফাংশনগুলি ব্যবহার করতে আপনার প্রয়োজনীয় সমস্ত তথ্য পাবেন।
নীচে আপনি কীভাবে একটি অ্যারে ফাইলগুলি পপ করতে পারেন যা একটি গ্লোব্বিং প্যাটার্নের সাথে মেলে। glob
ফাংশনটি ব্যবহার করার সময় আপনার মনে রাখা উচিত কয়েকটি জিনিস।
- ডিফল্টরূপে,
glob
ফাংশনটি বর্তমান ওয়ার্কিং ডিরেক্টরিতে ফাইলগুলির সন্ধান করে। অন্য ডিরেক্টরিটি অনুসন্ধান করার জন্য আপনাকে ডিরেক্টরিটির নামটি বিশ্বব্যাপী প্যাটার্নে প্রিনড করতে হবে যেমন আমি আমার উদাহরণটিতে করেছি সমস্ত ফাইলগুলিতে প্রবেশ করতে /bin
।
- আপনি কাঠামোর কাজ শেষ করার পরে
glob
কল করে বরাদ্দকৃত স্মৃতি পরিষ্কার করার জন্য আপনি দায়বদ্ধ globfree
।
আমার উদাহরণে আমি ডিফল্ট বিকল্পগুলি এবং কোনও ত্রুটি কলব্যাক ব্যবহার করি না। আপনি ব্যবহার করতে চান এমন কিছু ক্ষেত্রে ম্যান পেজ সমস্ত অপশনকে কভার করে। আপনি যদি উপরের কোডটি ব্যবহার করতে চলেছেন তবে আমি এটিকে বিভাগ হিসাবে NSArray
বা এর মতো কিছু হিসাবে যুক্ত করার পরামর্শ দেব ।
NSMutableArray* files = [NSMutableArray array];
glob_t gt;
char* pattern = "/bin/*";
if (glob(pattern, 0, NULL, >) == 0) {
int i;
for (i=0; i<gt.gl_matchc; i++) {
[files addObject: [NSString stringWithCString: gt.gl_pathv[i]]];
}
}
globfree(>);
return [NSArray arrayWithArray: files];
সম্পাদনা: আমি গিথুবে একটি টুকরো তৈরি করেছি যাতে উপরের কোডটি এনএসএরারি + গ্লোব্বিং নামে একটি বিভাগে রয়েছে ।