C - l'Impression de flotter valeurs

J'ai un programme C++ qui prend les valeurs et les imprime les valeurs comme ceci:

getline(in,number);
cout << setw(10) << number << endl;

J'ai équivalent d'un programme C qui prend en valeurs et l'affiche comme suit:

fscanf(rhs, "%e", &number);
printf("%lf\n", number);

Mais alors que le programme C++ imprime, 0.30951 le programme C imprime 0.309510. D'autres exemples: C++: 0.0956439 C: 0.095644. Il semble imprimer les mêmes résultats, à condition que la valeur est de 7 chiffres, mais si de sa plus courte de 7 chiffres, il ajoute un supplément de 0 à la fin. Et si de son de plus de 7 chiffres, il arrondit à 6 chiffres. Je voudrais que le C résultats correspondent le programme C++. Toute aide serait appréciée.

Grâce.

Note: le nombre est un flotteur et le numéro sont lues à partir d'un fichier.

  • Voulez-vous changer le C résultats pour correspondre à la C++ ou vice-versa?
  • Correct, je veux le C résultat pour correspondre à la C++.
InformationsquelleAutor FidelCashflo | 2013-03-19