¿Cómo guardar en archivo .txt con 2 decimales?

Iniciado por Juancho25, 3 Noviembre 2012, 21:25 PM

0 Miembros y 1 Visitante están viendo este tema.

Juancho25

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();
}

flony

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
si un problema no tiene solucion entonces no es un problema...es algo inevitable

xiruko

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()

un saludo!

rir3760

Para indicar el numero de decimales puedes utilizar el manipulador setprecision (si necesitas un ejemplo hay uno al final de esa pagina).

Un saludo
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language