Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में अपना खुद का atoi() लिखें

c प्रोग्रामिंग भाषा में atoi () फ़ंक्शन का उपयोग स्ट्रिंग से पूर्णांक रूपांतरण को संभालने के लिए किया जाता है। फ़ंक्शन एक स्ट्रिंग को इनपुट के रूप में लेता है और मान को पूर्णांक प्रकार में लौटाता है।

सिंटैक्स

int atoi(const char string)

पैरामीटर स्वीकृत - atio() फ़ंक्शन ने एक स्ट्रिंग को एक इनपुट के रूप में स्वीकार किया जिसे पूर्णांक समतुल्य में परिवर्तित किया जाएगा।

वापसी का प्रकार - फ़ंक्शन एक पूर्णांक मान देता है। मान एक मान्य स्ट्रिंग के लिए पूर्णांक समतुल्य होगा अन्यथा 0 लौटा दिया जाएगा।

atoi() फ़ंक्शन का कार्यान्वयन -

हम स्ट्रिंग के प्रत्येक वर्ण को लेते हैं और पिछले परिणाम में संख्या को 10 से गुणा करके पूर्णांक बनाते हैं।

ऋणात्मक पूर्णांकों के लिए, हम जाँचेंगे कि क्या स्ट्रिंग का पहला वर्ण - में है, हम अंतिम परिणाम को -1 से गुणा करेंगे।

हम जाँच कर एक वैध स्ट्रिंग की जाँच करेंगे कि क्या प्रत्येक वर्ण 0 से 9 के बीच है।

हमारे समाधान के कार्यान्वयन को दिखाने के लिए कार्यक्रम,

उदाहरण

#include <iostream>
using namespace std;
bool isNumericChar(char x) {
   return (x >= '0' && x <= '9') ? true : false;
}
int myAtoi(char* str) {
   if (*str == '\0')
      return 0;
   int result = 0;
   int sign = 1;
   int i = 0;
   if (str[0] == '-') {
      sign = -1;
      i++;
   }
   for (; str[i] != '\0'; ++i) {
      if (isNumericChar(str[i]) == false)
         return 0;
      result = result * 10 + str[i] - '0';
   }
   return sign * result;
}
int main() {
   char string[] = "-32491841";
   int intVal = myAtoi(string);
   cout<<"The integer equivalent of the given string is "<<intVal;
   return 0;
}

आउटपुट

The integer equivalent of the given string is -32491841
. है
  1. C++ का उपयोग करके अपने स्वयं के आकार के ऑपरेटर को लागू करें

    एक विकल्प है कि हम अपना खुद का sizeof() ऑपरेटर लागू कर सकते हैं। ऑपरेटर sizeof() एक यूनरी ऑपरेटर है और इसका उपयोग किसी भी प्रकार के डेटा के आकार की गणना करने के लिए किया जाता है। हम अपने स्वयं के sizeof() ऑपरेटर को लागू करने के लिए #define निर्देश का उपयोग कर सकते हैं जो बिल्कुल sizeof() ऑपरेटर के स

  1. सी ++ में एक स्ट्रिंग को टोकननाइज़ करें?

    पहला तरीका है, रिक्त स्थान से अलग किए गए शब्दों को पढ़ने के लिए एक स्ट्रिंगस्ट्रीम का उपयोग करना। यह थोड़ा सीमित है लेकिन यदि आप उचित जांच प्रदान करते हैं तो यह कार्य काफी अच्छी तरह से करता है। उदाहरण #include <vector> #include <string> #include <sstream> using namespace std; in

  1. अपना खुद का सीज़र सिफर एनकोडर कैसे लिखें

    क्या आपने कभी सीज़र सिफर . के बारे में सुना है ? जूलियस सीजर ने इस तकनीक का इस्तेमाल अपने दुश्मनों से गुप्त संदेश छुपाने के लिए किया था! सीज़र सिफर सबसे आदिम एन्क्रिप्शन तकनीकों में से एक है। इस प्रणाली के पीछे मुख्य विचार अक्षरों को घुमाना . है वर्णमाला पर पदों की एक x संख्या । उदाहरण के लिए, x