10進数列を整数に変換する


関数名
sz2int  10進数列を整数に変換する
形式
int sz2int(char *str);
引数
str  10進数ASCIZ文字列
関数値
10進数列を表す整数
注意事項
整数のオーバーフローに注意すること。

用例(sz2int-test.c
sz2int("6119");

プログラム(sz2int.c
int sz2int(char *str)
{
    int val;
    int sign;
    
    while (*str == ' ' || *str == '\t') str++;
    sign = 1;
    if (*str == '+') str++;
    else if (*str == '-') {
        sign = -1;
        str++;
    }
    val = 0;
    while (*str >= '0' && *str <= '9')
        val = 10 * val + (*str++ - '0');

    return sign == 1 ? val : -val;
}
説明
10進数列の先頭から、まずホワイトスペースを読み飛ばす。 つぎに符号を処理して、10進数字の各桁を変換していく。

関連関数
整数を2進数列に変換する整数を10進数列へ変換する整数を16進数列へ変換する2進数列を整数へ変換する16進数列を整数へ変換する