Funktion aus string aufrufen
-
Nein ich will die aber in meiner exe ham, die funktion!!!! Also ohne DLL usw.
-
Weiss denn keienr eine Antwort?
Ach und nochwas: Wie kann man von einem String die ersten n Zeichen von links/rechts oder von einem bestimmten zeichen im string aus abschneiden? Gibt es dafuer eine stringfuktion?
-
JA
-
Wenn du vorne Wegscheiden willst kannst du einfach den Pointer hochzählen, von hinten einfach indem du das Zeichen an der betreffenden Stelle auf 0 (nicht '0') setzt

-
was du brauchst sind funktionpointer http://www.function-pointer.org/
aber so einfach wie da oben dargestellt lässt sich dieses nicht lösen.wenn du in c++ schreibst (vermute mal nicht nach deinem obrigen code zu urteilen)
könntest du dieses einfach mit ner map (string, funcptr) lösen. map nach eingegebenen string durchsuchen. funktion ausführen.
-
Ich glaub er sucht sowas wie die Funktion
int system(char* command)
-
er möchte eine funktion innerhalb von seinem progs mittels einem string aufrufen.
siehe dritter post.
-
Tatsächlich, was ist das dann aber für eine schwachsinnige Frage? Und was hat es mit WinAPI zu tun?
bool command(char* eingabe){ if(!strcmp(eingabe, "rechnen")rechnen(); else if(!strcmp(eingabe, "sonstwas")sonstwas(); else return true; //Funktion nicht gefunden return false; }anders gehts nicht
-
D@niel $chumann schrieb:
Tatsächlich, was ist das dann aber für eine schwachsinnige Frage?
ich wollt übrigens auch erst system posten. stimme dur zu die frage war nicht
sehr gut gestellt.D@niel $chumann schrieb:
Und was hat es mit WinAPI zu tun?
nix

D@niel $chumann schrieb:
anders gehts nicht
mein vorschlag geht auch noch

-
ja und weiter???? .... :p mehr *laechz*
-
XFame schrieb:
ja und weiter???? .... :p mehr *laechz*

-
naja das mit dem system, erklaer das mal...
//e: sry ich meinte das, wo er die funtkion system nannte...hab nicht gesehen, dass der post schon 2 seiten hatte

-
system() ist eine funktion um externe programme zu starten.
-
miller_m schrieb:
mein vorschlag geht auch noch

ja stimmt (ist ja im Prinzip das selbe)
-
D@niel $chumann schrieb:
miller_m schrieb:
mein vorschlag geht auch noch

ja stimmt (ist ja im Prinzip das selbe)
ich dacht nur an eine einfache erweiterbarkeit.
irgendwo im init code einfach alles der map hinzufügen und das ausführen bleibt immer gleich.// pseudo code map<string, func*>::iterator it = MapFunc.find(strFind); if(it != MapFunc.end()) // ausführen der funktion über it->second
-
Ich widerspreche dir ja auch gar nicht. Ist klar, dass dein Vorschlag luxoriöser ist (die SDL is sowieso voll der Luxus
), aber das Prinzip (Vergleichen von Strings) bleibt das gleiche und da kommt man nicht drum rum.