কম্পিউটার

C++ এ strtol() ফাংশন


stroll() ফাংশনটি স্ট্রিংকে দীর্ঘ পূর্ণসংখ্যাতে রূপান্তর করতে ব্যবহৃত হয়। এটি পয়েন্টারকে শেষের পরে প্রথম অক্ষরের দিকে নির্দেশ করার জন্য সেট করে। সিনট্যাক্স নিচের মত। এই ফাংশনটি cstdlib লাইব্রেরিতে উপস্থিত।

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

এই ফাংশন তিনটি আর্গুমেন্ট লাগে. এই আর্গুমেন্ট নিচের মত -

  • str: এটি একটি স্ট্রিং এর শুরু।
  • str_end: str_end ফাংশন দ্বারা পরবর্তী অক্ষরে সেট করা হয়, শেষ বৈধ অক্ষরের পরে, যদি কোন অক্ষর থাকে, অন্যথায় শূন্য।
  • বেস: এটি বেস নির্দিষ্ট করে। ভিত্তি মান হতে পারে (0, 2, 3, …, 35, 36)

এই ফাংশন রূপান্তরিত লং int প্রদান করে। যখন অক্ষরটি NULL নির্দেশ করে, তখন এটি 0 ফেরত দেয়।

উদাহরণ

#include <iostream>
#include<cstdlib>
using namespace std;
main() {
   //Define two string
   char string1[] = "777HelloWorld";
   char string2[] = "565Hello";
   char* End; //The end pointer
   int base = 10;
   int value;
   value = strtol(string1, &End, base);
   cout << "The string Value = " << string1 << "\n";
   cout << "Long Long Int value = " << value << "\n";
   cout << "End String = " << End << "\n"; //remaining string after long long integer
   value = strtol(string2, &End, base);
   cout << "\nThe string Value = " << string2 << "\n";
   cout << "Long Long Int value = " << value << "\n";
   cout << "End String = " << End; //remaining string after long long integer
}

আউটপুট

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

এখন আমরা একটি ভিন্ন ভিত্তি মান সহ উদাহরণ দেখি। এখানে বেস হল 16। প্রদত্ত বেসের স্ট্রিং গ্রহণ করলে, এটি দশমিক বিন্যাসে প্রিন্ট করবে।

উদাহরণ

#include <iostream>
#include<cstdlib>
using namespace std;
main() {
   //Define two string
   char string1[] = "5EHelloWorld";
   char string2[] = "125Hello";
   char* End; //The end pointer
   int base = 16;
   int value;
   value = strtol(string1, &End, base);
   cout << "The string Value = " << string1 << "\n";
   cout << "Long Long Int value = " << value << "\n";
   cout << "End String = " << End << "\n"; //remaining string after long long integer
   value = strtol(string2, &End, base);
   cout << "\nThe string Value = " << string2 << "\n";
   cout << "Long Long Int value = " << value << "\n";
   cout << "End String = " << End; //remaining string after long long integer
}

আউটপুট

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

এখানে স্ট্রিংটিতে 5E রয়েছে তাই এর মান দশমিকে 94 এবং দ্বিতীয় স্ট্রিংটিতে 125 রয়েছে। এটি দশমিকে 293।


  1. expm1() C++ এ

  2. log1p() C++ এ

  3. C++ এ swap() ফাংশন

  4. পিএইচপি-তে pi() ফাংশন