外部から parameter を与える

外部から 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進数として解釈し変換してくれる。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-01-04 (月) 17:32:36