Foro de elhacker.net

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"..

Código:
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
Código:
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:

Código
  1. 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