Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Juancho25 en 3 Noviembre 2012, 21:25 PM

Título: ¿Cómo guardar en archivo .txt con 2 decimales?
Publicado por: Juancho25 en 3 Noviembre 2012, 21:25 PM
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();
}
Título: Re: ¿Cómo guardar en archivo .txt con 2 decimales?
Publicado por: flony en 3 Noviembre 2012, 21:44 PM
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
Título: Re: ¿Cómo guardar en archivo .txt con 2 decimales?
Publicado por: xiruko en 3 Noviembre 2012, 22:02 PM
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!
Título: Re: ¿Cómo guardar en archivo .txt con 2 decimales?
Publicado por: rir3760 en 4 Noviembre 2012, 02:22 AM
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