Título: duda con macro con if else if else Publicado por: neo_from_cs_matrix en 23 Septiembre 2011, 15:08 pm quiero hacer una macro asi, pero no se como hacerla realmente :-[
#define FOPEN(a,b) if(a==1) b=fopen("asd1.dat","ab"); / else if(a==2) b=fopen(""asd2.dat,"ab"); el problema es que no se bien las reglas para crear macros asi complejas necesitaria ayuda :laugh: Título: Re: duda con macro con if else if else Publicado por: тαптяα en 23 Septiembre 2011, 16:11 pm quiero hacer una macro asi, pero no se como hacerla realmente :-[ #define FOPEN(a,b) if(a==1) b=fopen("asd1.dat","ab"); / else if(a==2) b=fopen(""asd2.dat,"ab"); el problema es que no se bien las reglas para crear macros asi complejas necesitaria ayuda :laugh: Código
Título: Re: duda con macro con if else if else Publicado por: rir3760 en 23 Septiembre 2011, 17:47 pm Para algo relativamente complejo es mejor desarrollar una función. Ello porque en la macro seria muy difícil (tal vez mediante la macro "assert") validar los argumentos.
En todo caso si solo quieres agregar un sufijo a la cadena puedes utilizar algo mas o menos así: Código Como puedes observar el problema es que se deben utilizar literales como 1 o 2, no puedes utilizar una variable. De nuevo en un caso como ese lo mejor es una funcion. Un saludo |