[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