Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी में इटोआ फ़ंक्शन में महारत हासिल करना:एक व्यावहारिक मार्गदर्शिका

<पी> सी में इटोआ फ़ंक्शन में महारत हासिल करना:एक व्यावहारिक मार्गदर्शिका

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

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

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

<पी> पूर्णांक मुख्य() { <पी>     पूर्ण संख्या =12345;
    चार स्ट्र[20];
    इतोआ(संख्या, स्ट्र, 10);
    प्रिंटफ ("पूर्णांक:%d\nस्ट्रिंग:%s\n", संख्या, str);
    वापसी 0;

<पी> }

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

  1. संख्या पूर्णांक है
  2. str चरित्र है
  3. 10 बास है
<पी> अब, आगे बढ़ें, एक प्रोग्राम लिखें, और itoa फ़ंक्शन लागू करें। उदाहरण के लिए, हमें दर्ज संख्याओं को स्ट्रिंग में बदलने के लिए एक प्रोग्राम लिखना होगा।

<पी> #शामिल

<पी> #शामिल

<पी> शून्य इतोआ(पूर्णांक संख्या, चार *str, पूर्णांक आधार) {

<पी>     पूर्णांक मैं =0;
    int नकारात्मक =0;

है <पी>     यदि (संख्या ==0) {
        str[i++] ='0';
        str[i] ='\0';
        वापसी;
    }

<पी>     यदि (संख्या <0 &&आधार !=10) {

<पी>         नकारात्मक =1;
        संख्या =-संख्या;
    }

<पी>     जबकि (संख्या !=0) {
        int रेम =संख्या % आधार;

<पी>         str[i++] =(rem> 9) ? (रेम - 10) + 'ए' :रेम + '0'; <पी>         संख्या =संख्या / आधार;
    }

<पी>     यदि (नकारात्मक &&आधार ==10)
        str[i++] ='-';

<पी>     str[i] ='\0';

<पी>     पूर्णांक प्रारंभ =0;
    पूर्णांक अंत =i - 1;

<पी>     जबकि (प्रारंभ <अंत) {

<पी>         चार अस्थायी =str[प्रारंभ];
        str[प्रारंभ] =str[अंत];
        str[end] =अस्थायी;
        प्रारंभ++;
        अंत--;
    }
}

<पी> पूर्णांक मुख्य() {
    पूर्ण संख्या;
    प्रिंटफ ("एक पूर्णांक दर्ज करें:");
   
    यदि (scanf('%d', &num) !=1) {
        fprintf(stderr, "अमान्य इनपुट। कृपया एक पूर्णांक दर्ज करें।\n");
        वापसी EXIT_FAILURE;
    }

<पी>     int max_size =snprintf(NULL, 0, "%d", num) + 1;
    char *str =(char *)malloc(max_size);

<पी>     अगर (str ==शून्य) {
        fprintf(stderr, "मेमोरी आवंटन विफल\n");
        वापसी EXIT_FAILURE;
    }

<पी>     itoa(num, str, 10);

<पी>     प्रिंटफ ("पूर्णांक:%d\nस्ट्रिंग:%s\n", संख्या, str);

<पी>     मुफ़्त(str);

<पी>     वापसी 0;

<पी> }

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

<पी> यदि (संख्या ==0) {

<पी>     str[i++] ='0';
    str[i] ='\0';
    वापसी;

<पी> }

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

<पी> यदि (संख्या <0 &&आधार !=10) {

<पी>     नकारात्मक =1;
    संख्या =-संख्या;

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

<पी> }

<पी> जबकि (संख्या !=0) {

<पी>     int रेम =संख्या % आधार;

<पी>     str[i++] =(rem> 9) ? (रेम - 10) + 'ए' :रेम + '0'; <पी>     संख्या =संख्या / आधार;
   
}

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

<पी> यदि (नकारात्मक &&आधार ==10)

<पी>     str[i++] ='-';

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

<पी> str[i] ='\0';

<पी> // स्ट्रिंग को उलट दें

<पी> int प्रारंभ =0;

<पी> पूर्णांक अंत =i - 1;

<पी> जबकि (प्रारंभ <अंत) {

<पी>     चार अस्थायी =str[प्रारंभ];
    str[प्रारंभ] =str[अंत];
    str[end] =अस्थायी;
    प्रारंभ++;
    अंत--;

<पी> }

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

<पी> सी में इटोआ फ़ंक्शन में महारत हासिल करना:एक व्यावहारिक मार्गदर्शिका

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

सी में इटोआ फ़ंक्शन में महारत हासिल करना:एक व्यावहारिक मार्गदर्शिका

निष्कर्ष

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

लेखक के बारे में

<पी> सी में इटोआ फ़ंक्शन में महारत हासिल करना:एक व्यावहारिक मार्गदर्शिका

प्रतीक जांगिड़

<पी> व्यक्तिगत और व्यावसायिक कारणों से एक भावुक लिनक्स उपयोगकर्ता, हमेशा लिनक्स की दुनिया में क्या नया है इसकी खोज करता हूं और अपने पाठकों के साथ साझा करता हूं।


  1. विलंबित अद्यतन पुनर्प्राप्ति:विश्वसनीय डेटा अखंडता के लिए NO-UNDO और REDO का उपयोग करना विलंबित अद्यतन पुनर्प्राप्ति:विश्वसनीय डेटा अखंडता के लिए NO-UNDO और REDO का उपयोग करना

    विलंबित अद्यतन पुनर्प्राप्ति में, लेन-देन शुरू होने तक डिस्क पर वास्तविक डेटाबेस संशोधनों को स्थगित कर दिया जाता है। निष्पादन के दौरान अपडेट केवल लॉग और कैश बफ़र्स में रिकॉर्ड किए जाते हैं। यदि कोई लेन-देन प्रतिबद्ध होने से पहले विफल हो जाता है, तो डिस्क पर डेटाबेस अप्रभावित रहता है इसलिए NO-UNDO। प

  1. स्विफ्ट में टेक्स्टफिल्ड इनपुट को मान्य करने का सामान्य तरीका स्विफ्ट में टेक्स्टफिल्ड इनपुट को मान्य करने का सामान्य तरीका

    आप कितनी बार एप्लिकेशन विकसित करते हैं और आप प्रत्येक इनपुट फ़ील्ड के लिए समान सत्यापन लिखते हैं। ऐसा ही एक उदाहरण उपयोगकर्ता पंजीकरण, लॉगिन स्क्रीन या पंजीकरण स्क्रीन या कोई अन्य स्क्रीन है। प्रत्येक इनपुट फ़ील्ड के लिए कोड की एक ही पंक्ति लिखना कठिन हो जाता है इसके अलावा आप एक ही गलती कर सकते हैं।

  1. एचटीएमएल डोम चयनित इंडेक्स संपत्ति का चयन करें एचटीएमएल डोम चयनित इंडेक्स संपत्ति का चयन करें

    HTML DOM चयनित इंडेक्स प्रॉपर्टी का चयन करता है और HTML दस्तावेज़ में ड्रॉप-डाउन सूची के चयनित विकल्प की अनुक्रमणिका को संशोधित करता है। सिंटैक्स निम्नलिखित वाक्य रचना है - चयनित इंडेक्स लौटा रहा है object.selectedIndex चयनित इंडेक्स को संशोधित करना object.selectedIndex = “number&rd