値を取り込んで、次のような値を出力する C++ プログラムがあります。
getline(in,number);
cout << setw(10) << number << endl;
値を取り込んで次のように出力する同等の C プログラムがあります。
fscanf(rhs, "%e", &number);
printf("%lf\n", number);
しかし、C++ プログラムが出力する間0.30951
、C プログラムは出力し0.309510
ます。その他の例: C++: 0.0956439
C: 0.095644
. 値が7桁の長さである限り同じ結果を出力するようですが、7桁より短い場合は、最後に余分な0が追加されます. また、7 桁を超える場合は 6 桁に切り捨てられます。C の結果が C++ プログラムと一致することを望みます。どんな助けでも大歓迎です。
ありがとう。
注: number は float で、number はファイルから読み取られます。