GetPrivateProfileInt という.iniファイルから設定を読み取る関数があるのですが、
負の値をdouble型やfloat型にキャストすると、 -2147483648 となってしまいます。
回避するには
value = (double)(int)GetPrivateProfileInt("settings", "value", 0, ini_filename);
といった感じで、一度intにキャストすると上手くいきました。
本来、GetPrivateProfileIntの戻り値はUINTなので、負の値はとれないはずですが…
保存の方は
sprintf(ini_write_buff, TEXT("%d"), (int)(value));
WritePrivateProfileString("settings", "value", ini_write_buff, ini_filename);
といった感じなので負の値でも問題ありません。
2016年12月03日
この記事へのコメント
コメントを書く
この記事へのトラックバック