外部から parameter を与える(2) †さて、前節 "外部から parameter を与える" では、parameter は すべて文字列として渡されることがわかった。 一方、"乱数の例題(2)" の REPEAT_COUNT を外から与えるには、 文字列から数値(int)に変換する必要がある。 C の標準 library の利用 †上記問題を解決する通常手段は C の標準 library を利用する方法である。 前に示した rand() や srand() と同様に <stdlib.h> には以下の関数が 宣言されていて古くから用いられている。 int atoi(const char* s) long atol(const char* s) double atof(const char* s) これらは簡便ではあるが、より汎用的には long strtol(const char* s, char** endp, int base) unsigned long strtoul(const char* s, char** endp, int base) double strtod(const char* s, char** endp) を用いるのがよいだろう。これらは第二引数に変換されなかった pointer を 戻してくれる(NULL を指定することもでき、その場合は当然ながら戻らない)。 また base を与えることができ、特に base に 0 を指定した場合は、 先頭が 0 から始まる場合は 8進数、0x または 0X から始まる場合は 16進数、 それ以外は 10進数として解釈し変換してくれる。 |