elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  FILE * como dato miembro de una clase (C++)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: FILE * como dato miembro de una clase (C++)  (Leído 2,447 veces)
oPen syLar


Desconectado Desconectado

Mensajes: 769


The Best of You..


Ver Perfil WWW
FILE * como dato miembro de una clase (C++)
« en: 18 Octubre 2011, 15:17 pm »

Hola.. Tengo un pequeño problema a la hora de definir un puntero como dato miembro en C++ Para resumir lo que hago es lo siguiente...

Código:
class oPen
{
   FILE *canal;

  oPen()
  canal=fopen("unTxt.txt", "w");


static int fnMiembro();
}


int oPen::fnMiembro
{
  oPen c;

  fprintf(c.canal, "hola");
}


Al parecer c.canal apunta a otro sector de la memoria que no es precisamente el reservado por fopen... fopen devuelve un handle valido... El problema esta en que no sabe la dirección correcta.. Y termina la ejecución.

Lo que e hecho hasta ahora es sacar FILE * canal de la clase y declararlo como variable global pero esto me parece que no es lo correcto.. Quiero hacerlo completamente POO.


Saludos


Edito: El código estaba mal escrito... Ahora se parece mas a lo que tengo escrito


« Última modificación: 18 Octubre 2011, 17:57 pm por oPen syLar » En línea

Siempre habra 2 verdades, la que quieres creer y la que no aceptaras
Eternal Idol
Moderador
***
Desconectado Desconectado

Mensajes: 5.703


15 años en el foro.


Ver Perfil WWW
Re: FILE * como dato miembro de una clase (C++)
« Respuesta #1 en: 18 Octubre 2011, 17:06 pm »

¿Para que usas una instancia temporal? No tiene sentido eso:

oPen::fnMiembro
{
  oPen c;

Código
  1. void oPen::fnMiembro()
  2. {
  3.  fprintf(canal, "hola");
  4.  fprintf(this->canal, " chau");
  5. }


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
oPen syLar


Desconectado Desconectado

Mensajes: 769


The Best of You..


Ver Perfil WWW
Re: FILE * como dato miembro de una clase (C++)
« Respuesta #2 en: 18 Octubre 2011, 17:48 pm »

Tenia un error en el código que escribí arriba.. Ya lo e editado..

Se trata de un puntero tipo FILE en la clase para escribir el debug del programa.

Se me olvido comentarles que si accedo de la siguiente forma al puntero

Código:
c->canal

Me tira un error en el programa.. (En tiempo de ejecución)
En línea

Siempre habra 2 verdades, la que quieres creer y la que no aceptaras
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ordenar una lista de acuerdo a un dato miembro
Java
nico56 6 8,072 Último mensaje 20 Julio 2010, 09:53 am
por Debci
¿Duda sobre la sobreescritura de una función miembro en una clase derivada?
Programación C/C++
theluigy13etv 3 2,097 Último mensaje 21 Julio 2013, 19:19 pm
por theluigy13etv
AYUDA: problema con funcion miembro de clase « 1 2 »
Programación C/C++
t4r0x 14 3,509 Último mensaje 12 Diciembre 2014, 20:57 pm
por t4r0x
como pasar un dato a otra clase?
Java
owen 3 1,580 Último mensaje 13 Febrero 2016, 17:15 pm
por 0xFer
Como hago un scanf de un miembro de una clase?
Programación C/C++
Rogerta97 4 1,224 Último mensaje 11 Abril 2016, 16:32 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines