<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[String - Funktion]]></title><description><![CDATA[<p>Hallo,</p>
<p>wie schaffe ich eine Konvertierung einer Eingabe (String) zu einer Funktion?<br />
Also:<br />
Ein Benutzer gibt z.B. bei einer Abfrage sin ein. Dann soll das Programm den String sin als Funktion sin verwenden können.</p>
<p>Gruß<br />
Boris</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/137130/string-funktion</link><generator>RSS for Node</generator><lastBuildDate>Sat, 29 Aug 2026 16:38:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/137130.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Feb 2006 14:12:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to String - Funktion on Wed, 15 Feb 2006 14:12:48 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wie schaffe ich eine Konvertierung einer Eingabe (String) zu einer Funktion?<br />
Also:<br />
Ein Benutzer gibt z.B. bei einer Abfrage sin ein. Dann soll das Programm den String sin als Funktion sin verwenden können.</p>
<p>Gruß<br />
Boris</p>
]]></description><link>https://www.c-plusplus.net/forum/post/994899</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/994899</guid><dc:creator><![CDATA[hjdt]]></dc:creator><pubDate>Wed, 15 Feb 2006 14:12:48 GMT</pubDate></item><item><title><![CDATA[Reply to String - Funktion on Wed, 15 Feb 2006 14:18:09 GMT]]></title><description><![CDATA[<p>also ein einfacher ansatz, wenn ich dich richtig verstanden habe, wären viell fktzeiger?</p>
<p>einfaches beispiel:</p>
<pre><code class="language-cpp">string command[4]={&quot;start&quot;,&quot;exit&quot;,&quot;test&quot;,&quot;shutdown&quot;};
typedef void(*function)();
void start(){cout&lt;&lt;&quot;System starting....&quot;&lt;&lt;endl;}
void exit(){cout&lt;&lt;&quot;System exiting....&quot;&lt;&lt;endl;}
void test(){cout&lt;&lt;&quot;test&quot;&lt;&lt;endl;}
void shutdown(){cout&lt;&lt;&quot;System shutting down....&quot;&lt;&lt;endl;}
function Function[]={start,exit,test,shutdown};

int main(int argc, char* argv[])
{
 bool fail=true;
 string commandstring;
 cin&gt;&gt;commandstring;
 for(int i=0;i&lt;4;i++)
 {
  if(commandstring==command[i])
   {
   Function[i]();
   fail=false;
   }
 }
 if(fail)
  cout&lt;&lt;&quot;Falsches Kommando&quot;&lt;&lt;endl;
  getch();      return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/994910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/994910</guid><dc:creator><![CDATA[ser1al]]></dc:creator><pubDate>Wed, 15 Feb 2006 14:18:09 GMT</pubDate></item><item><title><![CDATA[Reply to String - Funktion on Wed, 15 Feb 2006 14:22:51 GMT]]></title><description><![CDATA[<p>Idee ist nicht schlecht, nur kann ich vorher nicht sagen, was für Funktionen kommen. Alle aufzuzählen und in einem Array zu speichern ist nicht möglich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/994919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/994919</guid><dc:creator><![CDATA[hjdt]]></dc:creator><pubDate>Wed, 15 Feb 2006 14:22:51 GMT</pubDate></item><item><title><![CDATA[Reply to String - Funktion on Wed, 15 Feb 2006 14:24:59 GMT]]></title><description><![CDATA[<p>du weißt nicht, welche funktionen kommen können?<br />
versteh ich nicht genau!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/994923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/994923</guid><dc:creator><![CDATA[ser1al]]></dc:creator><pubDate>Wed, 15 Feb 2006 14:24:59 GMT</pubDate></item><item><title><![CDATA[Reply to String - Funktion on Wed, 15 Feb 2006 14:26:24 GMT]]></title><description><![CDATA[<p>Den Gedanken anhand des textuellen Namens &quot;automatisch&quot; einen Funktionszeiger zu bekommen schlag Dir mal gleich aus dem Kopf <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> denn im compilierten Programm ohne Debug-Symbole gibt es keine Funktionsnamen mehr.</p>
<p>Du könntest natürlich die Symboltabellen einer Shared Library (DLL / .so) durchsuchen, aber das ist alles andere als Plattformunabhängig und funktioniert wie gesagt nur für DLLs.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/994925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/994925</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 15 Feb 2006 14:26:24 GMT</pubDate></item><item><title><![CDATA[Reply to String - Funktion on Wed, 15 Feb 2006 14:28:05 GMT]]></title><description><![CDATA[<p>viel anders als wie das beispiel gehts nicht.<br />
Der Compiler muss doch schon zur Compuilezeit die ganzen Sprünge und so einbauen, da kann nich erst einer zur Laufzeit kommen und sagen &quot;ruf mir jetzt mal sinus auf&quot;, das geht vielleicht mit php oder so (kA ob das wirklich geht). Ausserdem: woher soll der Compiler denn wissen, wenn nicht mal du weißt, was kommt, was kommt und wie soll er dann diese Funktionen einbinden, die er nicht mal kennt...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/994928</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/994928</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Wed, 15 Feb 2006 14:28:05 GMT</pubDate></item><item><title><![CDATA[Reply to String - Funktion on Wed, 15 Feb 2006 14:29:56 GMT]]></title><description><![CDATA[<p>Du kannst auch eine map verwenden und bei Bedarf erweitern:</p>
<pre><code class="language-cpp">typedef void(*func)();
map&lt;string,func&gt; functions;

//Funktion eintragen:
void register_func(const string&amp; name,func fn)
{
  functions.insert(make_pair(name,fn);
}

void call_func(const string&amp; name)
{
  map&lt;string,func&gt;::iterator pos=functions.find(name);
  if(pos!=functions.end())
    pos-&gt;second();
  else
    cerr&lt;&lt;&quot;unbekannte Funktion '&quot;&lt;&lt;name&lt;&lt;&quot;'\n&quot;;
}
</code></pre>
<p>(Zur Laufzeit trägst du dann per register_func() alle Funktionen ein, die du verwenden willst)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/994935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/994935</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 15 Feb 2006 14:29:56 GMT</pubDate></item><item><title><![CDATA[Reply to String - Funktion on Wed, 15 Feb 2006 14:33:57 GMT]]></title><description><![CDATA[<p>aber AFAIK gibt es keine möglichkeit, durch eingabe eines strings, eine &quot;unbekannte&quot; funktion aufzurufen!</p>
<p>Irgendwie muss schon kalr sein, das wenn dies eingegeben wird, das ausgeführt wird!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/994942</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/994942</guid><dc:creator><![CDATA[ser1al]]></dc:creator><pubDate>Wed, 15 Feb 2006 14:33:57 GMT</pubDate></item></channel></rss>