ViVi Home > 技術文書 > ポインタ入門 > 基礎演習問題 > atoi


 

 

C/C++ ポインタ入門 > 文字列関数 > atoi
Nobuhide Tsuda
Nov-2013

文字数を10進数変換:int my_atoi(const char *str)

int my_atoi(const char *str)
{
    if( !isdigit(*str) ) {   // str の先頭文字が数字でない場合は -1 を返す
        return -1;
    }
    int val = 0;      // 初期値を 0 に設定
    while( isdigit(*str) ) {  // str の指す先が数字である間
        val = val * 10 + *str++ - '0';      // 値を10倍し、数字を足す
    }
    return val;       // 値を返す
}

解説:

 


前: | 次: