vsprintf を使用してコンテンツをファイルに書き込みます。
出力形式は次のとおりです。
"tt2:%f, tt2:%x", tt2, *((int *)&tt2)
Linux:</p>
gcc 4.4.5: -O2 -ffloat-store
linux.in ファイルは次のようになります。
tt2:30759. 257812、tt2:46f04e84
ウィンドウ:</p>
vs2005 sp1: /O2 Precise (/fp:precise)
窓で。ファイル内は次のようになります。
tt2:30759. 257813、tt2:46f04e84
なぜそれが違うのですか?
==================================
私は自分のケースの理由を見つけました。
Windows では、ofstream を使用してファイルに出力します。それはc ++ libです。
Linuxでは、書き込みを使用してファイルに出力します。clibです。
Linuxでofstreamを使用すると、出力は同じです。
やっぱりみんなありがとう〜