strtol
提供:cppreference.com
< cpp | string/byte
文法:
#include <cstdlib> long strtol( const char *スタート, char **終了, int 基数 );
strtol()関数は、スタート引数の中から、long型として扱うことのできない文字が出たら、そこで変換を終了します。終了には、long型に変換が終わった次の文字のポインタが格納されます。もしも関数の返り値がlongで表現できない値の場合には、strtol()関数は LONG_MAX あるいは LONG_MIN を返します。エラーが発生したらゼロを返します。
終了はNULLになる可能性もありますが、終了とスタートが違うかどうかというのが、唯一実際のゼロとエラーのゼロを区別する方法になります。エラーのゼロは、文字列に数字が含まれておらず、一文字も読み込めなかったことを表しています。もしも LONG_MAX か LONG_MIN が返される場合には、 errno には ERANGE がセットされます。