सी में इटोआ फ़ंक्शन का उपयोग कैसे करें

Si Mem Ito A Fanksana Ka Upayoga Kaise Karem



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

इसके अलावा, itoa एक व्यापक रूप से उपयोग किया जाने वाला गैर-मानक फ़ंक्शन है जो डेटा प्रकार कनवर्टर के रूप में कार्य करता है। यह डेटा प्रकार int को इनपुट के रूप में लेता है और इसे एक स्ट्रिंग में परिवर्तित करता है। हालाँकि, आप में से बहुत से लोग इसका उपयोग नहीं जानते हैं। इसलिए, यह मार्गदर्शिका संक्षेप में बताती है कि C में बिना किसी परेशानी के itoa फ़ंक्शन का उपयोग कैसे करें।







सी में इटोआ फ़ंक्शन का उपयोग कैसे करें

आइए बुनियादी बातों से शुरू करें। यहाँ itoa फ़ंक्शन के लिए सरल सिंटैक्स दिया गया है:



int यहाँ मुख्य ( ) {

int यहाँ एक पर = 12345 ;
चार एसटीआर [ बीस ] ;
डूब गया ( एक पर , एसटीआर , 10 ) ;
printf ( 'पूर्णांक: %d \एन स्ट्रिंग: %s \एन ' , एक पर , एसटीआर ) ;
वापस करना 0 ;


}

दिए गए कार्यक्रम में, विवरण इस प्रकार हैं:



  1. संख्या पूर्णांक है
  2. str चरित्र है
  3. 10 बास है

अब, आगे बढ़ें, एक प्रोग्राम लिखें, और itoa फ़ंक्शन लागू करें। उदाहरण के लिए, हमें दर्ज संख्याओं को स्ट्रिंग में बदलने के लिए एक प्रोग्राम लिखना होगा।





#शामिल

#शामिल करें

खालीपन डूब गया ( int यहाँ एक पर , चार * एसटीआर , int यहाँ आधार ) {

int यहाँ मैं = 0 ;
int यहाँ नकारात्मक है = 0 ;

अगर ( एक पर == 0 ) {
एसटीआर [ मैं ++ ] = '0' ;
एसटीआर [ मैं ] = ' \0 ' ;
वापस करना ;
}


अगर ( एक पर < 0 && आधार != 10 ) {

नकारात्मक है = 1 ;
एक पर = - एक पर ;
}

जबकि ( एक पर != 0 ) {
int यहाँ रेम = एक पर % आधार ;

एसटीआर [ मैं ++ ] = ( रेम > 9 ) ? ( रेम - 10 ) + 'ए' : रेम + '0' ;

एक पर = एक पर / आधार ;
}

अगर ( नकारात्मक है && आधार == 10 )
एसटीआर [ मैं ++ ] = '-' ;

एसटीआर [ मैं ] = ' \0 ' ;

int यहाँ शुरू = 0 ;
int यहाँ अंत = मैं - 1 ;


जबकि ( शुरू < अंत ) {

चार अस्थायी = एसटीआर [ शुरू ] ;
एसटीआर [ शुरू ] = एसटीआर [ अंत ] ;
एसटीआर [ अंत ] = अस्थायी ;
शुरू ++;
अंत --;
}
}

int यहाँ मुख्य ( ) {
int यहाँ एक पर ;
printf ( 'एक पूर्णांक दर्ज करें:' ) ;

अगर ( स्कैनएफ ( '%डी' , & एक पर ) != 1 ) {
fprintf ( stderr , 'अमान्य इनपुट। कृपया एक पूर्णांक दर्ज करें। \एन ' ) ;
वापस करना EXIT_FAILURE ;
}

int यहाँ अधिकतम आकार = snprintf ( व्यर्थ , 0 , '%डी' , एक पर ) + 1 ;
चार * एसटीआर = ( चार * ) मॉलोक ( अधिकतम आकार ) ;

अगर ( एसटीआर == व्यर्थ ) {
fprintf ( stderr , 'मेमोरी आवंटन विफल रहा \एन ' ) ;
वापस करना EXIT_FAILURE ;
}


डूब गया ( एक पर , एसटीआर , 10 ) ;

printf ( 'पूर्णांक: %d \एन स्ट्रिंग: %s \एन ' , एक पर , एसटीआर ) ;

मुक्त ( एसटीआर ) ;

वापस करना 0 ;


}

पिछले प्रोग्राम में, itoa (int num, char *str, int बेस) itoa फ़ंक्शन है। इसके अलावा, जब इनपुट संख्या भी शून्य होती है, तो निम्न सिंटैक्स सीधे परिणाम को शून्य निर्दिष्ट करता है:

अगर ( एक पर == 0 ) {

एसटीआर [ मैं ++ ] = '0' ;
एसटीआर [ मैं ] = ' \0 ' ;
वापस करना ;


}

जब इनपुट संख्या ऋणात्मक हो और आधार भी 10 न हो, तो निम्न प्रोग्राम पंक्तियाँ ऋणात्मक ध्वज सेट करेंगी:



अगर ( एक पर < 0 && आधार != 10 ) {

नकारात्मक है = 1 ;
एक पर = - एक पर ;

निम्नलिखित लूप सभी अंकों को संसाधित करता है और उन्हें संबंधित वर्ण में परिवर्तित करता है। इसलिए, 10 से बड़े आधारों के लिए, प्रोग्राम 10 से 15 अंकों के लिए 'ए' से 'एफ' अक्षरों का उपयोग करता है।

}

जबकि ( एक पर != 0 ) {

int यहाँ रेम = एक पर % आधार ;

एसटीआर [ मैं ++ ] = ( रेम > 9 ) ? ( रेम - 10 ) + 'ए' : रेम + '0' ;

एक पर = एक पर / आधार ;

}

जब संख्या मूल रूप से नकारात्मक है और आधार 10 है, तो प्रोग्राम परिणाम स्ट्रिंग में नकारात्मक चिह्न जोड़ देगा।

अगर ( नकारात्मक है && आधार == 10 )

एसटीआर [ मैं ++ ] = '-' ;

निम्नलिखित पंक्तियाँ परिणाम स्ट्रिंग को समाप्त करती हैं और फिर इसे उलट देती हैं क्योंकि रूपांतरण प्रक्रिया के दौरान अंक विपरीत क्रम में प्राप्त होते हैं:

एसटीआर [ मैं ] = ' \0 ' ;

// स्ट्रिंग को उल्टा करें

int यहाँ शुरू = 0 ;

int यहाँ अंत = मैं - 1 ;

जबकि ( शुरू < अंत ) {

चार अस्थायी = एसटीआर [ शुरू ] ;
एसटीआर [ शुरू ] = एसटीआर [ अंत ] ;
एसटीआर [ अंत ] = अस्थायी ;
शुरू ++;
अंत --;


}

इसलिए, प्रोग्राम पूर्णांक को इनपुट के रूप में लेता है और स्ट्रिंग प्रतिनिधित्व के लिए मेमोरी आवंटित करता है। उसके बाद, यह पूर्णांक को स्ट्रिंग में बदलने के लिए itoa को कॉल करता है और मूल पूर्णांक को प्रिंट करता है। अंत में, यह आवंटित मेमोरी को मुक्त कर देता है। उदाहरण के लिए, आइए प्रोग्राम को एक नंबर दें:

हालाँकि, यदि आप एक गैर-पूर्णांक संख्या दर्ज करते हैं, तो प्रोग्राम निम्नलिखित परिणाम दिखाएगा:

निष्कर्ष

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