ficheros en dev C con clases
Publicado por Javier (1 intervención) el 21/11/2009 05:27:47
hola a todos tengo el siguiente problema estoy trabajando con ficheros en C implementandolos en clases, el problema esta que este no me crea el archivo en la carpeta que deseo, pero compíla correctamente, tengo que completarlo con las funciones de adicionar y eliminar el fichero creado pero sin que se me cree este me es imposible continuar con el resto del algoritmo. agradezco su colaboracion.
# include <conio.h>
# include <iostream>
# include <stdlib.h>
# include <stdio.h>
using namespace std;
class Conexion
{
private:
FILE *fp;
char ruta[20];
public:
Conexion(FILE *xfp, char xruta[]);
FILE *getConexion();
char* getRuta();
};
class Operaciones
{
private:
Conexion *conex;
int adicionar (char datos[]);
int eliminar (char datos[]);
char* leer();
void conectar ();
public:
int tipo (int xtip, char datos[]);
int crear(char datos[]);
};
Conexion::Conexion(FILE *xfp, char xruta[])
{
fp=xfp;
strcpy(ruta,xruta);
}
FILE *Conexion::getConexion()
{
return fp;
}
char* Conexion::getRuta()
{
return ruta;
}
void Operaciones::conectar()
{
FILE *fp1;
conex=new Conexion(fp1,"C:\\Archivo\\info.dat");
}
int Operaciones::crear (char datos[])
{
FILE *fp2;
conectar();
fp2=conex->getConexion();
fp2=fopen(conex->getRuta(),"W");
if(!fp2)
return 0;
fputs(datos, fp2);
fclose(fp2);
return 1;
}
main()
{
int res;
Operaciones *op=new Operaciones;
res=op->crear("Pruebas");
if(!res)
cout<<"Hubo error";
getch();
}
hasta aqui compíla correctamente pero en la carpeta C:\\Archivo\\info.dat no me crea el archivo info.dat.
en que parte puedo tener el error.
les agradezco su colaboracion.
# include <conio.h>
# include <iostream>
# include <stdlib.h>
# include <stdio.h>
using namespace std;
class Conexion
{
private:
FILE *fp;
char ruta[20];
public:
Conexion(FILE *xfp, char xruta[]);
FILE *getConexion();
char* getRuta();
};
class Operaciones
{
private:
Conexion *conex;
int adicionar (char datos[]);
int eliminar (char datos[]);
char* leer();
void conectar ();
public:
int tipo (int xtip, char datos[]);
int crear(char datos[]);
};
Conexion::Conexion(FILE *xfp, char xruta[])
{
fp=xfp;
strcpy(ruta,xruta);
}
FILE *Conexion::getConexion()
{
return fp;
}
char* Conexion::getRuta()
{
return ruta;
}
void Operaciones::conectar()
{
FILE *fp1;
conex=new Conexion(fp1,"C:\\Archivo\\info.dat");
}
int Operaciones::crear (char datos[])
{
FILE *fp2;
conectar();
fp2=conex->getConexion();
fp2=fopen(conex->getRuta(),"W");
if(!fp2)
return 0;
fputs(datos, fp2);
fclose(fp2);
return 1;
}
main()
{
int res;
Operaciones *op=new Operaciones;
res=op->crear("Pruebas");
if(!res)
cout<<"Hubo error";
getch();
}
hasta aqui compíla correctamente pero en la carpeta C:\\Archivo\\info.dat no me crea el archivo info.dat.
en que parte puedo tener el error.
les agradezco su colaboracion.
Valora esta pregunta


0