ডিরেক্টরি আছে কিনা পরীক্ষা করা

C:
ডিরেক্টরি আছে কিনা পরীক্ষা করা

কিভাবে:

C ভাষায়, একটি ডিরেক্টরির অস্তিত্ব চেক করা যায় stat ফাংশন ব্যবহার করে, যা নির্দিষ্ট একটি পাথের ফাইল বা ডিরেক্টরি সম্পর্কে তথ্য নিয়ে আসে। তারপর sys/stat.h থেকে S_ISDIR ম্যাক্রো ব্যবহার করে উদ্ধৃত তথ্যটি যদি একটি ডিরেক্টরির সাথে মেলে কিনা তা মূল্যায়ন করা হয়।

stat এবং S_ISDIR ব্যবহার করে একটি ডিরেক্টরি রয়েছে কিনা চেক করার উপায় এখানে দেওয়া হলো:

#include <stdio.h>
#include <sys/stat.h>

int main() {
    struct stat stats;
    
    // চেক করতে যাওয়া ডিরেক্টরির পাথ
    char *dirPath = "/path/to/directory";

    // পাথের অবস্থা পেতে
    int result = stat(dirPath, &stats);

    // ডিরেক্টরি রয়েছে কিনা চেক করা
    if (result == 0 && S_ISDIR(stats.st_mode)) {
        printf("ডিরেক্টরি অস্তিত্ব আছে।\n"); 
    } else {
        printf("ডিরেক্টরি অস্তিত্ব নেই।\n");
    }

    return 0;
}

স্যাম্পল আউটপুট:

ডিরেক্টরি অস্তিত্ব আছে।

অথবা, যদি ডিরেক্টরি না থাকে:

ডিরেক্টরি অস্তিত্ব নেই।

গভীরে ডাইভ:

stat স্ট্রাকচার এবং ফাংশন দশকের পর দশক ধরে C প্রোগ্রামিং ভাষার অংশ হয়ে আছে, ইউনিক্স থেকে এসেছে। এগুলি ফাইল সিস্টেমের তথ্য পুননিরীক্ষণের একটি মানকৃত উপায় প্রদান করে, যা সত্ত্বেও তুলনামূলকভাবে নিম্ন স্তরের, এর সাধারণতা এবং ফাইল সিস্টেমের মেটাডেটাতে সরাসরি অ্যাক্সেসের কারণে ব্যাপকভাবে ব্যবহৃত হয়।

ইতিহাসগতভাবে, stat এবং এর ডেরাইভেটিভগুলি (যেমন fstat এবং lstat) ব্যবহার করে ফাইল এবং ডিরেক্টরির অস্তিত্ব এবং বৈশিষ্ট্য চেক করা একটি সাধারণ পদ্ধতি হয়ে উঠেছে। তবে, এই ফাংশনগুলি সরাসরি ওএস কার্নেলের সাথে ইন্টার্যাক্ট করে, যা যদি সঠিকভাবে হ্যান্ডেল না করা হয় তবে ওভারহেড এবং সম্ভাব্য ত্রুটিগুলি প্রবর্তন করতে পারে।

নতুন প্রজেক্টে কাজ করার সময় বা উচ্চস্তরের পরিস্থিতিতে, প্রোগ্রামাররা আরও সারসংক্ষেপিত ফাইল-হ্যান্ডলিং মেকানিজমের জন্য আধুনিক ফ্রেমওয়ার্ক বা লাইব্রেরিগুলির দিকে ঝুঁকতে পারে যা ত্রুটিগুলি আরও মসৃণভাবে হ্যান্ডেল করে এবং একটি সহজ এপিআই প্রদান করে। তবে, stat ব্যবহারের উপর বোঝাপড়া এবং ক্ষমতা অর্জন করা সরাসরি ফাইল সিস্টেম নিয়ন্ত্রণের চাহিদা সম্পন্ন পরিস্থিতিকে সামাল দেওয়ার জন্য মূল্যবান দক্ষতা হিসেবে থাকে, যেমন সিস্টেম প্রোগ্রামিং বা যেখানে বৃহৎ লাইব্রেরিগুলির উপর নির্ভরতা অসম্ভব, সে সব পরিবেশে কাজ করার ক্ষেত্রে।