У меня есть программа на 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++. Любая помощь будет оценена по достоинству.
Спасибо.
Примечание: число является числом с плавающей запятой и число считывается из файла.