[C con Clase] Covertir String en Constante

Programante programante en gmail.com
Jue Sep 24 17:01:48 CEST 2009


Abel escribió:
> Hola,
> trataré de explicar el problema que tengo; escribí lo siguiente:
> #define MAX_A  "[0001]"
> #define MIN_B  "[0002]"
>
> main()
> {
>  test("A");
> }
>
> void test(char *str)
> {
>  sprintf(temp,"MAX_%s",str);
>  CAN(temp);  //aqui esta mi problema. necesito enviar a temp como "[0001]" y no 
>                como "MAX_A"
> }
>
> es un ejemplo simplificado de mi problema. Existe la forma de solucionar esto?
> Agradezco por toda información.
> Saludos.
>   
No puedes.
Las constantes se expanden en tiempo de compilación.
Lo que puedes hacer es crear un array.

char* MAX[2] = { "[0001]", "[0002]" };

int main()
{
 test(0);
 return 0;
}

void test(int indice)
{
 CAN( MAX[indice] );
}






Más información sobre la lista de distribución Cconclase