String als Funktion aufrufen - mit Parameter



  • Hallo,

    wie ist es möglich einen String als Funktion aufzurufen und zusätzlich Parameter mitzugeben??

    Gruss Waldewuff



  • in c++ waere es vergleichsweise einfach du koenntest eine map
    nehmen.
    in c, hm..
    du koenntest sowas vielleicht mit 2 arrays simulieren.
    in einem array speicherst du die strings in dem anderen die funktionen.

    #include <stdlib.h>
    #include <stdio.h>
    
    /* array mit den strings
     */
    char* strings[] = 
    {
    	"test1",
    	"test2"
    };
    
    typedef int (*fkt)( int );
    
    /* array mit den funktionen
     */
    fkt funktionen[10];
    
    int test1( int i )
    {
    	printf( "test1: i=%d\n", i );
    	return i;
    }
    
    int test2( int i )
    {
    	printf( "test2: i=%d\n", i );
    	return i;
    }
    
    int main()
    {
    	funktionen[0] = test1;
    	funktionen[1] = test2;
    
    	funktionen[0]( 123 );
    	funktionen[1]( 456 );
    
    	return 0;
    }
    

    dann musst du dir noch was basteln, was in dem array strings
    den index eines gesuchten funktionsnamen sucht. diesen index
    benutzt du dann bei dem array funktionen.


Anmelden zum Antworten