Tengo esta función la cual guarda los datos de un arreglo en un archivo .txt. Todo me funciona bien pero quisiera saber como podría guardar el "Precio" con 2 decimales, algo como printf("%.2f"..
void GuardarArchivo()
{
ofstream guardar ("archivo.txt",ios::trunc);
for(int i=0;i<c-1;i++)
{
guardar<<Pelicula[i].Nombre<<"\t";
guardar<<Pelicula[i].Precio<<"\t"; // Aquí necesito que imprima con 2 decimales
}
guardar.close();
}
me equivoco o esa parte de Pelicula[i].Precio<<"\t
pertenece a una tupla o struct como quieras decirle?....si es asi en vez de int ponle float en la strutc
en c++ no lo se, pero en c podria ser algo como:
fprintf(file, "%s %.2f", Pelicula[i].Nombre, Pelicula[i].Precio);
donde file es un puntero a un archivo (FILE*). el prototipo y la explicacion de la funcion lo tienes aqui:
fprintf() (http://c.conclase.net/librerias/?ansifun=fprintf)
un saludo!
Para indicar el numero de decimales puedes utilizar el manipulador setprecision (http://www.cplusplus.com/reference/iostream/manipulators/setprecision/) (si necesitas un ejemplo hay uno al final de esa pagina).
Un saludo