<?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[char aus Funktion zurück geben]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>wie bekomme ich aus einer Funktion einen bzw. mehrere char-Werte unbekannter/variabler Größe in die main() zurück?<br />
Klappt irgendwie alles nicht.</p>
<p>Nochmal am Beispiel (vari soll in fkt() erstellt werden und in main() ausgegeben werden):</p>
<pre><code class="language-cpp">[code]int fkt()
{
  char vari[MAX_PATH];

  //code
  return 0;
}

int main(void)
{
  //code

 cout&lt;&lt;vari;
 return 0;
}[/code]
</code></pre>
<p>Danke schonmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/165080/char-aus-funktion-zurück-geben</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 04:13:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/165080.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 15 Nov 2006 11:05:41 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to char aus Funktion zurück geben on Wed, 15 Nov 2006 11:05:41 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>wie bekomme ich aus einer Funktion einen bzw. mehrere char-Werte unbekannter/variabler Größe in die main() zurück?<br />
Klappt irgendwie alles nicht.</p>
<p>Nochmal am Beispiel (vari soll in fkt() erstellt werden und in main() ausgegeben werden):</p>
<pre><code class="language-cpp">[code]int fkt()
{
  char vari[MAX_PATH];

  //code
  return 0;
}

int main(void)
{
  //code

 cout&lt;&lt;vari;
 return 0;
}[/code]
</code></pre>
<p>Danke schonmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175079</guid><dc:creator><![CDATA[T*]]></dc:creator><pubDate>Wed, 15 Nov 2006 11:05:41 GMT</pubDate></item><item><title><![CDATA[Reply to char aus Funktion zurück geben on Wed, 15 Nov 2006 11:08:29 GMT]]></title><description><![CDATA[<p>std::string fkt()<br />
{<br />
return &quot;irgendwas&quot;;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175082</guid><dc:creator><![CDATA[Z2]]></dc:creator><pubDate>Wed, 15 Nov 2006 11:08:29 GMT</pubDate></item><item><title><![CDATA[Reply to char aus Funktion zurück geben on Wed, 15 Nov 2006 11:56:23 GMT]]></title><description><![CDATA[<p>T@ schrieb:</p>
<blockquote>
<p>Hallo Leute,</p>
<p>wie bekomme ich aus einer Funktion einen bzw. mehrere char-Werte unbekannter/variabler Größe in die main() zurück?<br />
Klappt irgendwie alles nicht.</p>
<p>Nochmal am Beispiel (vari soll in fkt() erstellt werden und in main() ausgegeben werden):</p>
</blockquote>
<p>Du erstellst vari aber in main. Du definierst nämlich das Array da.</p>
<pre><code class="language-cpp">char vari[MAX_PATH];
</code></pre>
<p>Wenn Du nur einen Zeiger auf einen (oder mehrere Chars) haben möchtest, so musst Du</p>
<pre><code class="language-cpp">char * vari;
</code></pre>
<p>schreiben.</p>
<p>Wenn fkt Dir ein (char <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="😉"
    /> zurückgeben soll, dann muss der Rückgabetyp stimmen.</p>
<pre><code class="language-cpp">char * fkt( void )
</code></pre>
<pre><code class="language-cpp">int const MAX_PATH=255;

char * fkt( void )
{
  char * result;

  /* erstelle String */
  result = new char[ MAX_PATH ];

  strcpy( result, &quot;Hallo Welt&quot; );

  return result;
}

int main( void )
{
  char * vari;

  vari = fkt();

  /* mach was damit */

  printf( &quot;vari ist: %s\n&quot;, vari );

  delete vari;

  return 0;
}
</code></pre>
<p>Alternativ läßt Du vari auf dem Stack von main() und übergibst fkt den Hinweis, wo die Daten geschrieben<br />
werden sollen:</p>
<pre><code class="language-cpp">int const MAX_PATH=255;

void fkt( char * data )
{
  strcpy( data, &quot;Hallo Welt&quot; );
}

int main( void )
{
  char vari[ MAX_PATH ];

  fkt( vari );

  /* mach was damit */

  printf( &quot;vari ist: %s\n&quot;, vari );

  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1175114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175114</guid><dc:creator><![CDATA[Xin]]></dc:creator><pubDate>Wed, 15 Nov 2006 11:56:23 GMT</pubDate></item><item><title><![CDATA[Reply to char aus Funktion zurück geben on Wed, 15 Nov 2006 13:11:21 GMT]]></title><description><![CDATA[<p>Danke Leute, es funzt!<br />
Xin, das zweite war genau das, was ich gesucht hatte!</p>
<p>Über den Weg</p>
<pre><code class="language-cpp">vari=fkt()
</code></pre>
<p>, kann immer nur der eine Wert von return() zurück gegeben werden, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1175180</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175180</guid><dc:creator><![CDATA[T*]]></dc:creator><pubDate>Wed, 15 Nov 2006 13:11:21 GMT</pubDate></item><item><title><![CDATA[Reply to char aus Funktion zurück geben on Wed, 15 Nov 2006 13:17:29 GMT]]></title><description><![CDATA[<p>T@ schrieb:</p>
<blockquote>
<p>Danke Leute, es funzt!<br />
Xin, das zweite war genau das, was ich gesucht hatte!</p>
<p>Über den Weg</p>
<pre><code class="language-cpp">vari=fkt()
</code></pre>
<p>, kann immer nur der eine Wert von return() zurück gegeben werden, oder?</p>
</blockquote>
<p>Richtig. Aber der Wert könnte auch zum Beispiel ein</p>
<pre><code class="language-cpp">struct FktResult
{
  char * Zeiger1;
  int    Wert1;
  int    Wert2;
};
</code></pre>
<p>sein.</p>
<p>Alternativ kannst Du auch Rückgabeparameter mittels Referenzen machen:</p>
<pre><code class="language-cpp">int const MAX_PATH=255;

void fkt( char * var, int &amp; length )
{
  strcmp( var, &quot;Hallo Welt&quot; );
  length = strlen( &quot;Hallo Welt&quot; );
}

int main( void )
{
  char vari[ MAX_PATH ];
  int varl;

  fkt( vari, varl );

  printf( &quot;Vari: %s, Länge: %d\n&quot;, vari, varl );

  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1175187</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1175187</guid><dc:creator><![CDATA[Xin]]></dc:creator><pubDate>Wed, 15 Nov 2006 13:17:29 GMT</pubDate></item></channel></rss>