atofは、実数の文字列を倍精度浮動小数点数値型に変換する。
atof.cで、
入力文字列がどうなるか試してみる。
$ vi atof.c $ gcc atof.c -o atof $ ./atof str: 1 d = 1.000000 $ ./atof str: 1.23 d = 1.230000 $ ./atof str: -4.56 d = -4.560000 $ ./atof str: 1.23abc d = 1.230000 $ ./atof str: 1.2e3 d = 1200.000000 $ ./atof str: 1.2e+3 d = 1200.000000 $ ./atof str: 1.2e-3 d = 0.001200 $ ./atof str: 1.2ee3 d = 1.200000 $ ./atof str: 0xff d = 255.000000 $ ./atof str: -0xff d = -255.000000 $
整数でも実数でもマイナスでも対応。
途中から文字列と判断すればカット。
しかしeを用いた指数表現には対応。
16進数も対応。
Sample/c/atof/atof/src/atof at master · bg1bgst333/Sample · GitHub