Ver Mensaje Individual
  #6 (permalink)  
Antiguo 17/01/2009, 05:35
Avatar de calathea
calathea
 
Fecha de Ingreso: octubre-2008
Ubicación: Valladolid
Mensajes: 122
Antigüedad: 15 años, 6 meses
Puntos: 3
Respuesta: Guardar Datos en C++

Necesitas guardarlo en un archivo. Si elijes un *.txt luego lo puedes abrir con el blok de notas...y si utilizas un binario (*.dat) lo abres solo desde el programa o desde un editor hexadecimal.

Te pongo un ejemplo:

Código:
#include <iostream>
#include <fstream>  //Librería de manejo de archivos en c++
using namespace std;

#define ARCHIVODETEXTO "<aqui la direccion del archivo>.txt" //no hace falta que esté creado ya, el programa lo creará

#define ARCHIVOBINARIO "<aqui la direccion del archivo>.dat" //idem anterior

//Siendo cContacto la clase en la q estan los atributos de cada contacto

void cContacto::generarAgenda(void)
{

/*declaramos el archivo (archivo es el nombre con el q nos referiremos al archivo, como el ptr en FILE *ptr;)*/
fstream archivo; //fstream sirve para lectura y escritura de archivos
//ifstream sería para lectura y ofstream para escritura

char separa[] = " ---------------------------------------------------------------------------- \n";


//si manejas archivo de texto utiliza esto:

archivo.open(ARCHIVODETEXTO);

if(archivo == NULL)
    {
		cout << "Error al abrir archivo " << ARCHIVODETEXTO << endl;
		exit(0);
    }

archivo << separa << endl; 

sprintf(linea, <aqui los datos que quieras meter en el archivo de texto, q estarán inicializados de antes>);
	
archivo << linea << endl; 
archivo << separa << endl;

/* archivo << linea << endl; escribe en el archivo lo que haya almacenado en "linea"...idem para el de "separa"*/

archivo.close();

//Si utilizas un binario:

archivo.open(ARCHIVOBINARIO, ios::out | ios::binary);  //con eso ya indicamos q es binario para escritura

archivo.write(<los parametros que tengas q poner para escribir en el archivo, igual que se haria en C con fwrite, pero sin los 2 ultimos argumentos>);

archivo.close();

}
Espero no haberme equivocado en el código y espero también que te sirva aunq solo sea para hacerte una idea.