Установить точность с помощью fstream для выходного файла - формат двойной

Я не могу найти ответ о том, как я могу использовать уже открытый fstream для вывода отформатированных парных чисел в текстовый файл. В настоящее время мой код делает это:

int writeToFile (fstream& f, product_record& p)
{
   if (!f){
      cout << "out file failed!!error" << endl;
      return -1;
   } else {

      f << p.idnumber << endl;
      f << p.name << endl;
      f << p.price << endl;
      f << p.number << endl;
      f << p.tax << endl;
      f << p.sANDh << endl;
      f << p.total << endl;
      f << intArrToString( p.stations ) << endl;

   }
}

Где p - это структура, называемая product_record, а цена, налог, sANDh и итог - вседвойники Я пытался делатьf << setprecision(4) << p.price << endl; но это не работает. Как я могу отформатировать этот двойной, чтобы иметь точность двух десятичных знаков. Как это"#.00", Как я могу добиться этого, используя специально Fstream?

Кроме того, к вашему сведению, общая задача состоит в том, чтобы просто прочитать текстовый файл, сохранить данные в структуре, добавить структуры в вектор, а затем прочитать структуры для печати в выходной файл. Входной файл уже имеет двойные значения, отформатированные как 10.00, 2.00 и т. Д. (2 десятичных знака)

Ответы на вопрос(1)

Ваш ответ на вопрос