C प्रोग्रामिंग में फ़ाइल का आकार कैसे पता करें I

C Programinga Mem Fa Ila Ka Akara Kaise Pata Karem I



क्या आप सी प्रोग्रामिंग के लिए नए हैं और फ़ाइल के आकार को खोजने का तरीका खोज रहे हैं? कहीं और मत जाओ! इस गाइड में, आप C प्रोग्रामिंग में फ़ाइल का आकार खोजने की प्रक्रिया सीखेंगे। किसी फ़ाइल के अंदर डेटा को रखने के लिए उपयोग किए जाने वाले बाइट्स की संख्या को फ़ाइल का आकार कहा जाता है। फ़ाइल आकार को जानकर, आप कॉपी करने, पढ़ने या लिखने सहित विभिन्न फ़ाइल-हैंडलिंग ऑपरेशन कर सकते हैं।

इस ट्यूटोरियल और सरल कोड उदाहरणों में वर्णित चरण-दर-चरण दिशानिर्देशों के माध्यम से, आप किसी भी फ़ाइल का आकार तुरंत ढूंढ सकते हैं।







C प्रोग्रामिंग में फ़ाइल का आकार ज्ञात करें

नीचे उल्लेखित C में फ़ाइल का आकार खोजने के विभिन्न तरीके हैं।



1: स्टेट () फ़ंक्शन का उपयोग करना

सी में, फ़ाइल के आकार का पता लगाने का सबसे सीधा तरीका उपयोग करना है स्टेट () सिस्टम कॉल फ़ंक्शन। स्टेट () फ़ंक्शन फ़ाइल स्थिति की जानकारी प्राप्त करता है और इसे एक संरचना में संग्रहीत करता है। इस संरचना के सदस्यों में से एक है st_size , जो बाइट में फ़ाइल का आकार देता है। यह विधि फ़ाइल पॉइंटर को मैन्युअल रूप से स्थानांतरित करने से बचाती है, जिससे इसका उपयोग करना आसान हो जाता है और कम त्रुटि-प्रवण होता है।



#शामिल
#शामिल

मुख्य प्रवेश बिंदु ( )
{
struct स्टेट अनुसूचित जनजाति;
लंबा आकार ;
अगर ( स्टेट ( 'C_File.txt' , और अनुसूचित जनजाति ) == 0 )
{
आकार = st.st_size;
printf ( 'फ़ाइल का आकार %ld बाइट है। \एन ' , आकार ) ;
}
वापस करना 0 ;
}


यह कोड नामक फ़ाइल के आकार को पुनर्प्राप्त करता है C_File.txt का उपयोग स्टेट () विधि से पुस्तकालय। st_size स्ट्रक्चर स्टेट का तत्व, जिसमें फ़ंक्शन फ़ाइल के बारे में जानकारी रखता है, और हमें फ़ाइल का आकार खोजने की अनुमति देता है। फ़ाइल का आकार चर आकार में रखा जाता है, और फिर प्रिंटफ () संदेश के साथ आकार को कंसोल पर प्रिंट करने के लिए उपयोग किया जाता है। एक्सेस करने का प्रयास करने से पहले st_size संपत्ति, अगर बयान पुष्टि करता है कि स्टेट () समारोह कॉल सफल रहा। कोड तब यह दिखाने के लिए 0 लौटाता है कि यह सफलतापूर्वक चला।





उत्पादन


2: fstat() फ़ंक्शन का उपयोग करना

इसी तरह का एक अन्य कार्य स्टेट () है फस्टैट () समारोह, जो के बराबर है स्टेट () लेकिन फ़ाइल नाम के बजाय खुली फ़ाइल पर काम करता है। फस्टैट () फ़ंक्शन द्वारा वर्णित खुली फ़ाइल के बारे में जानकारी पुनर्प्राप्त करता है फाइल डिस्क्रिप्टर इसे पास किया। एक खुली फ़ाइल का संदर्भ पूर्णांक द्वारा दर्शाया गया है फाइल डिस्क्रिप्टर . की तरह स्टेट (), फस्टैट () बाइट्स में इसके आकार सहित प्रदान की गई फ़ाइल के बारे में स्थिति की जानकारी देता है।



#शामिल
#शामिल
#शामिल

मुख्य प्रवेश बिंदु ( ) {
इंट एफडी;
struct स्टेट अनुसूचित जनजाति;
एफडी = खुला ( 'C_File.txt' , O_RDONLY ) ;
अगर ( राज्य ( एफडी, और अनुसूचित जनजाति ) == - 1 ) {
printf ( 'फ़ाइल जानकारी प्राप्त करने में त्रुटि। \एन ' ) ;
वापस करना 1 ;
}
printf ( 'फ़ाइल का आकार %ld बाइट है। \एन ' , st.st_size ) ;
बंद करना ( एफडी ) ;
वापस करना 0 ;
}


उपरोक्त कोड में, इस उदाहरण में फ़ाइल प्रारंभ में कॉल करके खोली जाती है खुला() फ़ाइल नाम के साथ कार्य करें और O_RDONLY विकल्प, जो फ़ाइल को रीड-ओनली मोड में खोलता है। ए फाइल डिस्क्रिप्टर (एफडी) समारोह द्वारा लौटाया जाता है। उसके बाद, हम उपयोग करते हैं फस्टैट () फ़ाइल के बारे में जानकारी प्राप्त करने की विधि, इसे एक सूचक के रूप में भेजना अनुसूचित जनजाति दूसरे पैरामीटर के रूप में संरचना और पहले तर्क के रूप में फाइल डिस्क्रिप्टर। अनुसूचित जनजाति संरचना वह जगह है जहां यह फ़ंक्शन फ़ाइल की जानकारी को पुनः प्राप्त करने के बाद रखता है।

बाइट में फ़ाइल का आकार, जो में रखा जाता है st_size के सदस्य अनुसूचित जनजाति संरचना, तब मुद्रित किया जाता है यदि उपयोग करते समय कोई त्रुटि नहीं थी फस्टैट () समारोह। अन्यथा, यह एक त्रुटि संदेश प्रिंट करता है।

उत्पादन


3: fseek () और ftell () फ़ंक्शंस का उपयोग करना

सी प्रोग्रामिंग में फ़ाइल के आकार को खोजने के लिए एक अन्य विधि का उपयोग करना है fseek () और एफटेल () कार्य करता है। एफटेल () विधि फ़ाइल पॉइंटर की वर्तमान स्थिति लौटाती है, जबकि fseek () फ़ंक्शन फ़ाइल पॉइंटर को फ़ाइल में दिए गए स्थान पर ले जाता है। बाइट में फ़ाइल का आकार का उपयोग करके पाया जा सकता है एफटेल () का उपयोग करने के बाद वर्तमान स्थिति प्राप्त करने के लिए कार्य करें fseek () फ़ाइल सूचक को फ़ाइल के अंत में स्थानांतरित करने के लिए फ़ंक्शन।

#शामिल
#शामिल

मुख्य प्रवेश बिंदु ( )
{
फ़ाइल * एफपी;
लंबा आकार ;

एफपी = fopen ( 'C_File.txt' , 'आरबी' ) ;
fseek ( एफपी, 0एल, SEEK_END ) ;
आकार = ftell ( एफपी ) ;
fclose ( एफपी ) ;
printf ( 'फ़ाइल का आकार =% एलडी बाइट्स। \एन ' , आकार ) ;

वापस करना 0 ;
}


उपरोक्त कोड में, का उपयोग कर fopen () विधि, आवेदन पहले खोलता है C_File.txt बाइनरी मोड में। fseek () फ़ंक्शन तब का उपयोग करता है SEEK_END फ़ाइल सूचक को फ़ाइल के अंत में स्थानांतरित करने का विकल्प। फ़ाइल का वर्तमान स्थान, जो बाइट्स में इसके आकार से मेल खाता है, का उपयोग करके पाया जा सकता है एफटेल () समारोह। कोड तब उपयोग करता है fclose () फ़ाइल के आकार को कंसोल पर प्रिंट करने के बाद फ़ाइल को बंद करने की विधि।

उत्पादन


4: फ़ाइललेंथ () फ़ंक्शन का उपयोग करना

फ़ाइल प्रबंधन लाइब्रेरी का उपयोग करके अगली विधि है, जो प्राप्त करने के लिए कार्यों सहित कई फ़ाइल हेरफेर फ़ंक्शन प्रदान करती है एक फ़ाइल का आकार . उदाहरण के लिए, समारोह फ़ाइल लम्बाई () फ़ाइल का नाम दिए जाने पर, फ़ाइल की लंबाई बाइट्स में लौटाता है। इस फ़ंक्शन के लिए हेडर फ़ाइल की आवश्यकता होती है .

एक अन्य कार्य भी है, _filelengthi64 (), जो 4 जीबी से बड़ी फ़ाइलों के लिए बाइट्स में फ़ाइल की लंबाई लौटाता है। दो कार्यों के बीच का अंतर उनके वापसी मूल्यों का प्रकार है, जो दर्शाता है कि फ़ंक्शन कितने बाइट्स को संभाल सकता है।

#शामिल
#शामिल

मुख्य प्रवेश बिंदु ( )
{
लंबा आकार ;
चार * नाम = 'C_File.txt' ;
आकार = फ़ाइल लम्बाई ( कोई फ़ाइल नहीं ( fopen ( नाम, 'आरबी' ) ) ) ;
printf ( 'फ़ाइल का आकार =% एलडी बाइट्स। \एन ' , आकार ) ;

वापस करना 0 ;
}


फ़ाइल का आकार C_File.txt Windows फ़ाइल प्रबंधन लाइब्रेरी का उपयोग करके इस कोड द्वारा बाइट्स में प्राप्त किया जाता है। जब एक खुली हुई फ़ाइल का फ़ाइल डिस्क्रिप्टर प्रदान किया जाता है, तो विधि फ़ाइल लम्बाई () बाइट्स में फ़ाइल की लंबाई लौटाता है।

fopen () इस कोड में फ़ाइल को केवल-पढ़ने के लिए बाइनरी मोड में खोलता है, और कोई फ़ाइल नहीं() खोली गई फ़ाइल का फ़ाइल डिस्क्रिप्टर लौटाता है। तब, प्रिंटफ () फ़ाइल आकार को प्रिंट करने के लिए उपयोग किया जाता है। फ़ंक्शन तब 0 लौटाता है जो इंगित करता है कि इसे सफलतापूर्वक निष्पादित किया गया है।

उत्पादन


निष्कर्ष

खोजने के कई तरीके हैं सी में बाइट्स में फ़ाइल का आकार , प्रत्येक अपने फायदे और नुकसान के साथ। ऊपर दिए गए ट्यूटोरियल में चार अलग-अलग तरीकों पर चर्चा की गई है; स्टेट () समारोह, fstat () समारोह, fseek () और एफटेल () कार्य, और फ़ाइल लम्बाई () समारोह। इन कार्यों को समझने से उपयोगकर्ताओं को आपके सिस्टम पर किसी फ़ाइल का आकार खोजने में सहायता मिलेगी।