Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-05-2005
leireiresaio leireiresaio is offline
Registrado
 
Registrado: may 2005
Posts: 1
Poder: 0
leireiresaio Va por buen camino
Ficheros

Hola!!!

Tenemos problemas a la hora de hacer un fichero en "Borland C++ Builder 5". No sabemos como meter la información en un fichero. Nos gustaria que nos recomendaseis que tipo de fichero utilizar. No estaria mal que nos mandaseis un trozo de código de ejemplo.

Gracias!!! Un saludo.
Responder Con Cita
  #2  
Antiguo 16-05-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 22
Crandel Va por buen camino
Los archivos de escritura son los ofstream , tenes que declarar una variable de ese tipo, por ejemplo:

Código:
ofstream ArchiSal("salida.txt");
un ejemplo con escribiendo bastantes boludeces
Código:
ofstream ArchiSal("salida.txt");
string Texto1 = "Hola";
string Texto2 = "Mundo";
int num = 1;
Archi << Texto1 << Texto2 << endl;
Archi << Texto1 << " " << Texto2 << endl;
Archi << num << num++ << endl;
Archi << num << " " << num++ << endl;
Archi << num++ << " " << num << endl;
Archi << Texto1 << num << "\n";
Archi << num++ << Texto2 << endl;
Al final, podes llamar al método close() si queres, igualmente este se llama al destruir la varaible

Para lectura ifstream .

Código:
float PromedioDatos()
{
  float x, suma = 0;
  int cont = 0;
  ifstream Archivo(“Datos.txt”);
  while (!Archivo.eof())
  {
    Archivo >> x;
    suma += x;
    cont++;
  }
  return suma/cont;
}
Espero que te sirva para empesar
__________________
[Crandel]
Responder Con Cita
  #3  
Antiguo 20-05-2005
Avatar de alt126
alt126 alt126 is offline
Miembro
 
Registrado: dic 2004
Posts: 171
Poder: 20
alt126 Va por buen camino
Sabeis si tambien funciona en la version 3??

Es que lo estoy probando y no me funciona!!

Gracias
Responder Con Cita
  #4  
Antiguo 20-05-2005
Avatar de Crandel
[Crandel] Crandel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Parana, Argentina
Posts: 1.475
Poder: 22
Crandel Va por buen camino
no lo probe esa versión, seguro que en la 5 y 6 funciona.

Si especificas que error te tira, cpaz te pueda ayudar.
__________________
[Crandel]

Última edición por Crandel fecha: 20-05-2005 a las 18:45:38.
Responder Con Cita
  #5  
Antiguo 01-06-2005
mminorm mminorm is offline
Miembro
 
Registrado: may 2005
Posts: 23
Poder: 0
mminorm Va por buen camino
Ficheros

Prueba este otro codigo, imagino ke estas usando algun tipo de registro, lista enlazada o algo asi:

void nodo::guardar(void)//guarda en un fichero
{
nodo *AUX = NULL;
if (obj.l != NULL)
{
AUX = obj.l;//obj,l es un objeto ke contiene la cabeza de una lista enlazada
ofstream datos("fichero.txt");
if (!datos)
ShowMessage( "No se pudo abrir el archivo");
while (AUX != NULL)
{
//tienes ke declarar una variable por cada dato del registro
char nombre[15];
char apellido1[15];
char apellido2[15];
char cedula[10];
char telefono[15];
char celular[15];
char provincia[15];
StrCopy(nombre, AUX->info.nombre);
StrCopy(apellido1, AUX->info.apellido1);
StrCopy(apellido2, AUX->info.apellido2);
StrCopy(cedula, AUX->info.cedula);
StrCopy(telefono, AUX->info.telefono);
StrCopy(celular, AUX->info.celular);
StrCopy(provincia, AUX->info.provincia);
if (AUX!=NULL)
{
datos.write ((unsigned char *) & nombre, sizeof(nombre));
datos.write ((unsigned char *) & apellido1, sizeof(apellido1));
datos.write ((unsigned char *) & apellido2, sizeof(apellido2));
datos.write ((unsigned char *) & cedula, sizeof(cedula));
datos.write ((unsigned char *) & telefono, sizeof(telefono));
datos.write ((unsigned char *) & celular, sizeof(celular));
datos.write ((unsigned char *) & provincia, sizeof(provincia));
}
AUX = AUX->sig;
}
datos.close();
datos.close();
}
}
void nodo::cargar (void) //carga informacion desdel el fichero
{
persona p;//mi registro de informacion
ifstream datos ("fichero.txt");
obj.l=NULL;//recuerda ke obj.l es la cabeza de mi lista enlazada

if (!datos)
ShowMessage("No se pudo abrir el archivo");
else
{
do
{
//tienes ke cargar la informacion del archivo en cada dato del registro
datos.read ((unsigned char *) & p.nombre, sizeof(p.nombre));
datos.read ((unsigned char *) & p.apellido1, sizeof(p.apellido1));
datos.read ((unsigned char *) & p.apellido2, sizeof(p.apellido2));
datos.read ((unsigned char *) & p.cedula, sizeof(p.cedula));
datos.read ((unsigned char *) & p.telefono, sizeof(p.telefono));
datos.read ((unsigned char *) & p.celular, sizeof(p.celular));
datos.read ((unsigned char *) & p.provincia, sizeof(p.provincia));
if (!datos.eof())
obj.insertar(p);
}
while (!datos.eof());
}
datos.close();
datos.close();
}

espero t sirva, si no t funcionara me podrias decir ke clase de estructura estas utilizando. Estamos en contacto

Última edición por mminorm fecha: 01-06-2005 a las 20:27:48.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:48:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi