atoi.c 1.26 KB
/*
=============================================================================
        Copyright (C) 1997-1999 NINTENDO Co.,Ltd.
        
        $RCSfile: atoi.c,v $
        $Revision: 1.1.1.1 $
        $Date: 2002/10/30 02:07:09 $
=============================================================================
関数名:atoi
-----------------------------------------------------------------------------
書式:  #include <stdlib.h>
        int atoi(const char *s)
引数:  string  文字列
戻り値:int 型の数値
説明:  string 文字列を int 型の数値に変換する。

        文字列 stringは、次の形式で指定する。

        [whitespace][{sign}][digits]

            <whitespace>    空白類文字 (isspace 参照)
            <sign>          +か−
            <digits>        1桁以上の10進数値

        数字の一部として認識出来ない文字が現れたところで
        変換を打ち切る。

-----------------------------------------------------------------------------
*/
#include    "stdlib.h"
#include    "ctype.h"

int atoi(const char *s)
{
    int sign = 1,digits = 0;

    while(isspace(*s))
      s++;

    if (*s =='-')           {sign = -1; s++;}
    else    if (*s =='+')   s++;

    while(isdigit(*s))  {
        digits *= 10;
        digits += (*s++) - '0';
    }
    digits *= sign;
    return digits;
}