C言語 文字列を整数値( unsigned long型 )に変換 - stdlib.h - [ strtoul ]
2008.11.01 Saturday | by LRESULT
文字列を整数値( unsigned long型 )に変換するには、strtoul()を使います。
書式 | long strtoul( const char *s, char **ends, int base ) |
---|---|
機能 | 文字列を整数値( unsigned long型 )に変換 |
引数 | const char *s : 変換元も文字列 char **ends : 変換が不可能だった文字列を格納するポインタ int base : 基数 0を指定すると、文字列の先頭に0x or 0Xがあると16進数として変換し、 0から始まる数値なら8進数として変換し、それ以外は10進数として変換します。 また、2〜36を指定すると、指定された n進数で変換します。 |
戻り値 | unsigned long型に変換された値 |
引数の int baseは、どの進数として文字列を変換するかを指定します。
文字列である「12345678ABCDE」を、unsigned long型の「12345678」に変換し、 変換出来なかった「ABCDE」を確認してみます。 |
---|
#include <stdio.h> |
変換元の文字列:12345678ABCDE long型に変換された値:12345678 変換出来なかった文字列:ABCDE |
---|
というように、表示されます。 strtoulの第3引数に0を指定した為、文字列を10進数と判定し 12345678として変換されています。 |