1Danke
ERLEDIGT
JA
JA
ANTWORTEN
6
6
ZUGRIFFE
418
418
EMPFEHLEN
-
01.03.08 13:24 #1
Hi Zusammen
Ich versuche, mir mit einem Array einen Haufen Case Marken zu sparen.
Folgendes möchte ich realisieren:
Code :1 2 3
static char *test[] = { { "test1" , funktion1 } };
Wenn in einem Suchlauf "test" gefunden wird, soll die Funktion funktion1() aufgerufen werden. Gibt es eine Möglichkeit, das irgendwie zu realisieren?
Danke für die Hilfe!
Gruss
FGVoice of Silence - http://www.voiceofsilence.ch - Punkrock from Schaffhausen, check it out!
-
Hi
schon mal an eine Map gedacht
sowas wie das hier
map<string,void (*)()> fuinctionArray;
Mit freiundlichen Gruß
Cefour
-
01.03.08 17:05 #3
Hallo
Sorry, hab noch vergessen hinzuschreiben, dass das Programm in C ist. map scheiedet somit aus. Danke trotzdem
Gruss
FGVoice of Silence - http://www.voiceofsilence.ch - Punkrock from Schaffhausen, check it out!
-
Dann folgendes
struct functionMap
{
char * functionName;
void (*f)();
};
Mit freundlichen Gruß
Cefour
-
01.03.08 19:12 #5
Hallo
Das klingt schon mal nicht schlecht. Wie funktioniert denn nun der Aufruf wenn folgendes gegeben ist:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
struct _function typedef struct _function func; { char * functionName; void (*f)(); }; static func fn[] = { { "test" , funktion1 } }; static void funktion1(char *arg) { ... }
Ich habe keinen Peil
Gruss
FGVoice of Silence - http://www.voiceofsilence.ch - Punkrock from Schaffhausen, check it out!
-
jetzt müsstest du dir nur eine noch eine Fuction schreiben die das array nach dem dan namen dursucht und die function ausführt allso so in dieser art
void fuehreaus(functionStruct * functionArray,char *name,int sizeOfFunctionArray)
{
int i ;
for(i = 0; i< sizeOfFunctionArray;i++)
{
if(strcmp(functionArray[i].name,name) == 0)
{
functionArray[i].f();
return;
}
}
}
das ding müsste so klappen gibt aber keine Fehlerausgabe noch sonstwas
aus
Gruß
Cefour
-
01.03.08 20:24 #7
Moin
Nun funktioniert alles! Vielen Dank für deine Hilfe
Gruss
FGGeändert von fish-guts (01.03.08 um 20:37 Uhr)
Voice of Silence - http://www.voiceofsilence.ch - Punkrock from Schaffhausen, check it out!
Ähnliche Themen
-
(Pointer -> Array ) In Funktion befüllen aber nach Ende der Funktion leer
Von Shadow im Forum C/C++Antworten: 3Letzter Beitrag: 13.03.10, 10:22 -
PHP Funktion Array zurückgeben
Von chriss_2oo4 im Forum PHPAntworten: 6Letzter Beitrag: 25.01.10, 18:35 -
Array als Argument in Funktion(C++)
Von the_undertaker im Forum C/C++Antworten: 10Letzter Beitrag: 20.05.07, 18:13 -
Funktion in Array aufrufen
Von Bogat im Forum PHPAntworten: 6Letzter Beitrag: 24.09.06, 18:04 -
Array zurückgeben (Funktion)
Von Danielku15 im Forum C/C++Antworten: 2Letzter Beitrag: 29.09.05, 12:38





Zitieren
Login






