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

C++ में strtol() फंक्शन


strtol() फंक्शन का उपयोग स्ट्रिंग को लॉन्ग इंटीजर्स में बदलने के लिए किया जाता है। यह पॉइंटर को अंतिम वैध वर्ण के बाद पहले वर्ण पर इंगित करने के लिए सेट करता है। सिंटैक्स निम्नलिखित है। यह फंक्शन cstdlib लाइब्रेरी में मौजूद है।

long int strtol(const char* str, char** end, int base)

यह फंक्शन तीन आर्गुमेंट्स लेता है:

  • str: स्ट्रिंग की शुरुआत।
  • str_end: फंक्शन द्वारा सेट किया जाता है अंतिम वैध वर्ण के बाद अगले वर्ण पर, यदि कोई वर्ण है, अन्यथा NULL।
  • base: यह बेस निर्दिष्ट करता है। बेस मान (0, 2, 3, ..., 35, 36) हो सकते हैं।

यह फंक्शन परिवर्तित long int लौटाता है। जब वर्ण NULL की ओर इंगित करता है, तो यह 0 लौटाता है।

उदाहरण 1: बेस 10 (दशमलव)

#include <iostream>
#include <cstdlib>
using namespace std;

int main() {
    char string1[] = "777HelloWorld";
    char string2[] = "565Hello";
    char* End;
    int base = 10;
    int value;
    
    value = strtol(string1, &End, base);
    cout << "The string Value = " << string1 << "\n";
    cout << "Long Int value = " << value << "\n";
    cout << "End String = " << End << "\n";
    
    value = strtol(string2, &End, base);
    cout << "\nThe string Value = " << string2 << "\n";
    cout << "Long Int value = " << value << "\n";
    cout << "End String = " << End;
    return 0;
}

आउटपुट

The string Value = 777HelloWorld
Long Int value = 777
End String = HelloWorld

The string Value = 565Hello
Long Int value = 565
End String = Hello

उदाहरण 2: बेस 16 (हेक्साडेसिमल)

#include <iostream>
#include <cstdlib>
using namespace std;

int main() {
    char string1[] = "5EHelloWorld";
    char string2[] = "125Hello";
    char* End;
    int base = 16;
    int value;
    
    value = strtol(string1, &End, base);
    cout << "The string Value = " << string1 << "\n";
    cout << "Long Int value = " << value << "\n";
    cout << "End String = " << End << "\n";
    
    value = strtol(string2, &End, base);
    cout << "\nThe string Value = " << string2 << "\n";
    cout << "Long Int value = " << value << "\n";
    cout << "End String = " << End;
    return 0;
}

आउटपुट

The string Value = 5EHelloWorld
Long Int value = 94
End String = HelloWorld

The string Value = 125Hello
Long Int value = 293
End String = Hello

यहाँ स्ट्रिंग में 5E है जिसका मान दशमलव में 94 है, और दूसरी स्ट्रिंग में 125 है जो दशमलव में 293 है।

महत्वपूर्ण नोट्स

  • base = 0 होने पर, स्ट्रिंग प्रीफिक्स के आधार पर बेस ऑटो-डिटेक्ट होता है (0x हेक्स के लिए, 0 ऑक्टल के लिए)।
  • ओवरफ्लो होने पर LONG_MAX या LONG_MIN लौटाता है और errno को ERANGE पर सेट करता है।
  • अमान्य इनपुट के लिए 0 लौटाता है।
  1. - C++ में log1p() फ़ंक्शन

    log1p() फ़ंक्शन का उपयोग किसी भी संख्या a के लिए (a+1) के नेचुरल लॉगरिदम (आधार e लॉगरिदम) की गणना के लिए किया जाता है। यह (a+1) के नेचुरल लॉगरिदम का मान लौटाता है। जब हम -1 से कम मान पास करते हैं तो यह NaN (नॉट ए नंबर) लौटाता है। गणितीय अभिव्यक्ति log1p(a) = base-e log(a+1) C++ में सिंटैक्स float

  1. - C++ में swap() फ़ंक्शन

    swap() फ़ंक्शन दो संख्याओं को स्वैप (अदला-बदली) करने के लिए उपयोग किया जाता है। तीसरे वेरिएबल की आवश्यकता नहीं होती। <algorithm> या <utility> हेडर में परिभाषित (C++11 से)। सिंटैक्स void swap(Type& a, Type& b); उदाहरण 1: मान द्वारा पास (मान बदलते नहीं) #include <bits/stdc++.

  1. - PHP में pi() फंक्शन

    विवरण pi() फंक्शन Pi (π) का मान लौटाता है। सिंटैक्स pi() पैरामीटर्स NA रिटर्न वैल्यू pi() फंक्शन PI का अनुमानित मान लौटाता है। यह मान फ्लोटिंग पॉइंट वैल्यू है। 3.1415926535898 उदाहरण <?php echo(pi()); ?> आउटपुट 3.1415926535898 उदाहरण आइए PI का मान प्राप्त करने का एक और उदाहरण देखें: &l