C言語なら俺に聞け(入門篇) Part 21
■ このスレッドは過去ログ倉庫に格納されています
0398デフォルトの名無しさん
2007/11/16(金) 16:49:36const char* pszInput = "9999999999999999999999999999999999999999999999999999999999999999999999999999999999";
char* pszStop;
double dOutput;
dOutput = ::strtod(pszInput, &pszStop);
::printf("input:%s\noutput:%f\nstop:%s\n", pszInput, dOutput, pszStop);
output:9999999999999999600000000000000000000000000000000000000000000000000000000
000000000.000000
となってしまいます。ERANGEも検出されません。
これはよく知られたバグなのでしょうか?また対策はあるのでしょうか?
よろしくお願いします。
■ このスレッドは過去ログ倉庫に格納されています