C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C ++のstrtol()関数


strol()関数は、文字列を長整数に変換するために使用されます。最後の文字の後の最初の文字を指すようにポインタを設定します。構文は次のようになります。この関数はcstdlibライブラリにあります。

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

この関数は3つの引数を取ります。これらの議論は以下のようなものです-

  • str: これは文字列の始まりです。
  • str_end: str_endは、関数によって、最後の有効な文字の後に、文字がある場合は次の文字に設定され、それ以外の場合はnullに設定されます。
  • ベース: これはベースを指定します。基本値は(0、2、3、…、35、36)にすることができます

この関数は、変換されたlongintを返します。文字が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です。指定されたベースの文字列を取得することにより、10進形式で印刷されます。

#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が含まれているため、その値は10進数で94であり、2番目の文字列には125が含まれています。これは10進数で293です。


  1. C ++のswap()関数

    swap()関数は、2つの数値を交換するために使用されます。この関数を使用すると、2つの数値を交換するために3番目の変数は必要ありません。 C ++言語でのswap()の構文は次のとおりです。 void swap(int variable_name1, int variable_name2); 変数に値を割り当てるか、ユーザー定義の値を渡すと、変数の値が交換されますが、変数の値は実際の場所では同じままです。 これがC++言語でのswap()の例です 例 #include <bits/stdc++.h> using namespace std; int main() { &nb

  2. PHPのpi()関数

    pi()関数はPi(π)の値を返します。 構文 pi() パラメータ NA 戻る pi()関数PIのおおよその値を返します。この値は浮動小数点値です。 3.1415926535898 例 <?php    echo(pi()); ?> 出力 3.1415926535898 例 PIの値を取得する別の例を見てみましょう <?php    echo M_PI; ?> 出力 3.1415926535898