Foros del Web » Programación para mayores de 30 ;) » C/C++ »

macro c++

Estas en el tema de macro c++ en el foro de C/C++ en Foros del Web. Hola, ante una sentencia a=20 MENSAJE ("el valor de a es " << a); ¿Como se codificaría la macro para que me escribiera en un ...
  #1 (permalink)  
Antiguo 07/06/2010, 07:51
 
Fecha de Ingreso: junio-2010
Mensajes: 4
Antigüedad: 13 años, 9 meses
Puntos: 0
macro c++

Hola, ante una sentencia
a=20
MENSAJE ("el valor de a es " << a);
¿Como se codificaría la macro para que me escribiera en un fichero de texto
"el valor de a es 20?
Me funciona bien si en vez de en un fichero lo muestro con cout pero si quiero que el mensaje de texto y el valor de la variable me lo muestre en un fichero me da error al usar los operadores <<.
Alguien me podría ayudar?
gracias
  #2 (permalink)  
Antiguo 10/06/2010, 01:11
 
Fecha de Ingreso: junio-2010
Mensajes: 4
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: macro c++

puedes postear la linea de codigo en la que tienes el error? no tendras el archivo definido como 'FILE *'? flujo cout es del tipo ofstream.
  #3 (permalink)  
Antiguo 11/06/2010, 05:29
 
Fecha de Ingreso: junio-2010
Mensajes: 4
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: macro c++

Ante todo muchas gracias por tu respuesta. He conseguido ponerlo bien pero ahora tengo el siguiente problema.

#define DEBUG(msg) do{\
ofstream ofile("prueba.txt");\
ofile << msg;\
ofile.close();\
}while(0);

using namespace std;
int main()
{

int a=2;

DEBUG ("EL VALOR DE A ES" << a);


}


En la macro necesito saber la longitud de msg para poder recorrer caracter a caracter y cambiar algunos caracteres por otros pero no puedo hacer strlen(msg) ni msg[i] porque me da fallo de compilación. ¿Cómo podría solucionar esto?
Muchas gracias de nuevo.
  #4 (permalink)  
Antiguo 13/06/2010, 15:55
 
Fecha de Ingreso: junio-2010
Mensajes: 4
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: macro c++

Nadie sabe como puedo pasar msg a string o a char* para a partir de ahí poder modificar esa cadena?

Etiquetas: macro
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:50.