C-standard-library-c-function-strtol

提供:Dev Guides
移動先:案内検索

Cライブラリ関数-strtol()

説明

Cライブラリ関数 long int strtol(const char str、char * endptr、int base)*は、 *str の文字列の最初の部分を、指定された base に従って long int 値に変換します。 2から36の間、または特別な値0でなければなりません。

宣言

以下は、strtol()関数の宣言です。

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

パラメーター

  • str -これは整数の表現を含む文字列です。
  • endptr -これはchar *型のオブジェクトへの参照です。このオブジェクトの値は、関数によって数値の後の_str_の次の文字に設定されます。
  • base -これはベースであり、2から36の間、または特別な値0でなければなりません。

戻り値

この関数は、変換された整数をlong int値として返します。それ以外の場合は、ゼロ値が返されます。

次の例は、strtol()関数の使用法を示しています。

#include <stdio.h>
#include <stdlib.h>

int main () {
   char str[30] = "2030300 This is test";
   char *ptr;
   long ret;

   ret = strtol(str, &ptr, 10);
   printf("The number(unsigned long integer) is %ld\n", ret);
   printf("String part is |%s|", ptr);

   return(0);
}

次の結果を生成する上記のプログラムをコンパイルして実行しましょう-

The number(unsigned long integer) is 2030300
String part is | This is test|