浮動小数点値のみを含む char * を float 型に変換しようとしていますが、sscanf_s と atof の両方で同じ無効な結果が生成されます。
char t[] = "2.10";
float aFloat( 0.0f ), bFloat( 0.0f );
sscanf_s( t, "%f", &aFloat );
bFloat = atof( t );
出力:
aFloat: 2.09999990
bFloat: 2.09999990
答えを確認するために同様の質問を見たとき、私はそれらの解決策を試みましたが無駄でした.
char* を float または double に変換する
ここで与えられた解決策は、「stdlib.h」を含めることでした。その後、atof への呼び出しを明示的な呼び出し「std::atof」に変更しましたが、それでもうまくいきません。