<?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-Arrays verbinden]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem: Ich möchte mit system(cont char*) einen Befehl ausführen lassen (normalerweise geht das in anderen Sprachen ja mit einem . oder + Operator). Dafür soll immer eine Variable an ein &quot;ECHO &quot; gehängt werden. Beim Googlen bin ich schon auf die Funktion &quot;strcat()&quot; gestoßen, leider habe ich hier aber unterschiedliche Datentypen, deswegen klappt das Verknüpfen der beiden nicht wirklich. Mein Code sieht jetzt in etwa so aus:</p>
<pre><code class="language-cpp">unsigned char temp[100] = {&quot;&quot;};

//Weiterer Code...

system(strcat(&quot;echo &quot;,temp);
</code></pre>
<p>Beim Kompilieren bekomme ich dann folgenden Fehler:</p>
<blockquote>
<p>error C2664: 'strcat': Konvertierung des Parameters 2 von 'unsigned char [100]' in 'const char *' nicht möglich</p>
</blockquote>
<p>temp muss leider wegen vorherigen Funktionsaufrufen &quot;unsigned char&quot; bleiben. Wie konvertiere ich jetzt Parameter 2 zu const char*, bzw. gibt es weitere Möglichkeiten die beiden zu verknüpfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/303516/char-arrays-verbinden</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 11:08:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/303516.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 16 May 2012 05:04:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Char-Arrays verbinden on Wed, 16 May 2012 05:04:57 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe folgendes Problem: Ich möchte mit system(cont char*) einen Befehl ausführen lassen (normalerweise geht das in anderen Sprachen ja mit einem . oder + Operator). Dafür soll immer eine Variable an ein &quot;ECHO &quot; gehängt werden. Beim Googlen bin ich schon auf die Funktion &quot;strcat()&quot; gestoßen, leider habe ich hier aber unterschiedliche Datentypen, deswegen klappt das Verknüpfen der beiden nicht wirklich. Mein Code sieht jetzt in etwa so aus:</p>
<pre><code class="language-cpp">unsigned char temp[100] = {&quot;&quot;};

//Weiterer Code...

system(strcat(&quot;echo &quot;,temp);
</code></pre>
<p>Beim Kompilieren bekomme ich dann folgenden Fehler:</p>
<blockquote>
<p>error C2664: 'strcat': Konvertierung des Parameters 2 von 'unsigned char [100]' in 'const char *' nicht möglich</p>
</blockquote>
<p>temp muss leider wegen vorherigen Funktionsaufrufen &quot;unsigned char&quot; bleiben. Wie konvertiere ich jetzt Parameter 2 zu const char*, bzw. gibt es weitere Möglichkeiten die beiden zu verknüpfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212019</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212019</guid><dc:creator><![CDATA[Taeli]]></dc:creator><pubDate>Wed, 16 May 2012 05:04:57 GMT</pubDate></item><item><title><![CDATA[Reply to Char-Arrays verbinden on Wed, 16 May 2012 05:15:52 GMT]]></title><description><![CDATA[<p>1. Wenn da Zeichen drin stehen sollte es char sein.<br />
2. Kannst du casten.<br />
3. Hast du noch das Problem mit dem Stringliteral &quot;echo &quot;.<br />
Das hat a) keinen Platz mehr für deinen text und ist b) meist nicht beschreibbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212021</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212021</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Wed, 16 May 2012 05:15:52 GMT</pubDate></item><item><title><![CDATA[Reply to Char-Arrays verbinden on Wed, 16 May 2012 05:40:42 GMT]]></title><description><![CDATA[<p>DirkB schrieb:</p>
<blockquote>
<p>und ist b) meist nicht beschreibbar.</p>
</blockquote>
<p>Meist? Wie wärs mit immer? Immerhin ist <code>echo</code> vom Typ <code>const char[5]</code> ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212032</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Wed, 16 May 2012 05:40:42 GMT</pubDate></item><item><title><![CDATA[Reply to Char-Arrays verbinden on Wed, 16 May 2012 08:20:40 GMT]]></title><description><![CDATA[<p>Taeli schrieb:</p>
<blockquote>
<p>ich habe folgendes Problem: Ich möchte mit system(cont char*) einen Befehl ausführen lassen (normalerweise geht das in anderen Sprachen ja mit einem . oder + Operator).</p>
</blockquote>
<p>Das geht in C++ auch mit einem<a href="http://cplusplus.com/reference/string/operator+/" rel="nofollow"> <code>+</code> </a>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212114</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212114</guid><dc:creator><![CDATA[TyRoXx]]></dc:creator><pubDate>Wed, 16 May 2012 08:20:40 GMT</pubDate></item><item><title><![CDATA[Reply to Char-Arrays verbinden on Wed, 16 May 2012 08:26:27 GMT]]></title><description><![CDATA[<p>Da du im C++-Forum gepostet hast: lass das mit den char-Arrays einfach. Nimm die Klasse <code>std::string</code> (Header <code>&lt;string&gt;</code> ), damit wird es wesentlich einfacher und weniger fehleranfällig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212115</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 16 May 2012 08:26:27 GMT</pubDate></item><item><title><![CDATA[Reply to Char-Arrays verbinden on Wed, 16 May 2012 09:04:12 GMT]]></title><description><![CDATA[<p>Nur so am Range: char, unsigned char und signed char sind 3 verschiedene Typen, die nicht wirklich &quot;referenz-kompatibel&quot; sind, zumindest nicht soweit, dass es eine implizite Konvertierung von unsigned char* zu char* gibt.</p>
<p>Und warum kompliziert, wenn's auch einfach geht?</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include was-man-auch-immer-für-&quot;system&quot;-braucht

:::

int main()
{
  :::
  std::string temp = &quot;echo &quot;;
  temp += &quot;hossa&quot;;
  :::
  system(temp.c_str());
  :::
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2212128</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212128</guid><dc:creator><![CDATA[krümelkacker]]></dc:creator><pubDate>Wed, 16 May 2012 09:04:12 GMT</pubDate></item><item><title><![CDATA[Reply to Char-Arrays verbinden on Wed, 16 May 2012 09:19:33 GMT]]></title><description><![CDATA[<p>Hier ein Beispiel gib z.b. ein echo dann wird dir durch den system Befehl hallo ausgegeben. (Aber das ist alles frikelei <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> )</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main(int argc, char* argv[])
{

char a[34];  // 29 + string hallo = 34 Zeichen (Nur so als BufferOverflow schutz
string e =&quot; hallo&quot;;

cin.getline(a,29);
cout&lt;&lt;&quot;a enthaelt: &quot; &lt;&lt; a &lt;&lt; endl;

strcat(a,e.c_str() );

system( a );
return 0;
}
</code></pre>
<p>Aber wie schon andere geschrieben haben nimm einfach std::string</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212135</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212135</guid><dc:creator><![CDATA[Frikelei]]></dc:creator><pubDate>Wed, 16 May 2012 09:19:33 GMT</pubDate></item><item><title><![CDATA[Reply to Char-Arrays verbinden on Wed, 16 May 2012 09:28:49 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> Wieso postest du denn so ein mieses Mischbeispiel? Am Ende benutzt jemand das noch. Entweder C-Strings oder std::string (oder eine andere String-Klasse), aber so ein kruder Mix bringt keinem was.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212136</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 16 May 2012 09:28:49 GMT</pubDate></item><item><title><![CDATA[Reply to Char-Arrays verbinden on Wed, 16 May 2012 09:29:53 GMT]]></title><description><![CDATA[<p>Frikelei schrieb:</p>
<blockquote>
<pre><code class="language-cpp">char a[34];  // 29 + string hallo = 34 Zeichen (Nur so als BufferOverflow schutz
string e =&quot; hallo&quot;;
</code></pre>
</blockquote>
<p>Und schom hast du das Leerzeichen vergessen. Besser kann man nicht zeigen, dass C-Strings Mist sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212138</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Wed, 16 May 2012 09:29:53 GMT</pubDate></item><item><title><![CDATA[Reply to Char-Arrays verbinden on Wed, 16 May 2012 09:48:58 GMT]]></title><description><![CDATA[<p>manni66 schrieb:</p>
<blockquote>
<p>Und schom hast du das Leerzeichen vergessen. Besser kann man nicht zeigen, dass C-Strings Mist sind.</p>
</blockquote>
<p>Mist, Off-by-One Overflow so schnelll kanns gehen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212146</guid><dc:creator><![CDATA[Frikelei]]></dc:creator><pubDate>Wed, 16 May 2012 09:48:58 GMT</pubDate></item><item><title><![CDATA[Reply to Char-Arrays verbinden on Wed, 16 May 2012 11:44:17 GMT]]></title><description><![CDATA[<p>TyRoXx schrieb:</p>
<blockquote>
<p>Taeli schrieb:</p>
<blockquote>
<p>ich habe folgendes Problem: Ich möchte mit system(cont char*) einen Befehl ausführen lassen (normalerweise geht das in anderen Sprachen ja mit einem . oder + Operator).</p>
</blockquote>
<p>Das geht in C++ auch mit einem<a href="http://cplusplus.com/reference/string/operator+/" rel="nofollow"> <code>+</code> </a>.</p>
</blockquote>
<p>Leider geht das aber nur bei der Klasse std::string, bei char erhalte ich den C2110 error:</p>
<p>Compiler schrieb:</p>
<blockquote>
<p>'+': Zwei Zeiger können nicht addiert werden.</p>
</blockquote>
<p>Frikelei schrieb:</p>
<blockquote>
<p>Hier ein Beispiel gib z.b. ein echo dann wird dir durch den system Befehl hallo ausgegeben. (Aber das ist alles frikelei <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> )</p>
</blockquote>
<p>Natürlich ginge das in diesem Fall hier mit einem Stream auch. Aber das ECHO war jetzt in diesem Fall mal nur als Beispiel gedacht. In system() steht dann natürlich ein etwas komplizierterer Befehl als ECHO ^^.</p>
<p>_matze schrieb:</p>
<blockquote>
<p>Da du im C++-Forum gepostet hast: lass das mit den char-Arrays einfach. Nimm die Klasse <code>std::string</code> (Header <code>&lt;string&gt;</code> ), damit wird es wesentlich einfacher und weniger fehleranfällig.</p>
</blockquote>
<p>Muss ich dann evtl. noch irgendetwas mit std::string machen, bevor ich ihn in system() verwenden kann? Zur Zeit erhalte ich noch:</p>
<p>Compiler schrieb:</p>
<blockquote>
<p>'system': Konvertierung des Parameters 1 von 'std::string' in 'const char *' nicht möglich</p>
</blockquote>
<p>Gibt es da irgendeine Konvertierungsmöglichkeit?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212188</guid><dc:creator><![CDATA[Taeli]]></dc:creator><pubDate>Wed, 16 May 2012 11:44:17 GMT</pubDate></item><item><title><![CDATA[Reply to Char-Arrays verbinden on Wed, 16 May 2012 11:49:57 GMT]]></title><description><![CDATA[<p>Taeli schrieb:</p>
<blockquote>
<p>Muss ich dann evtl. noch irgendetwas mit std::string machen, bevor ich ihn in system() verwenden kann? Zur Zeit erhalte ich noch:</p>
<p>Compiler schrieb:</p>
<blockquote>
<p>'system': Konvertierung des Parameters 1 von 'std::string' in 'const char *' nicht möglich</p>
</blockquote>
<p>Gibt es da irgendeine Konvertierungsmöglichkeit?</p>
</blockquote>
<p>Ja, steht einen Beitrag nach dem von _matze.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212196</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Wed, 16 May 2012 11:49:57 GMT</pubDate></item><item><title><![CDATA[Reply to Char-Arrays verbinden on Wed, 16 May 2012 11:51:57 GMT]]></title><description><![CDATA[<p>Frikelei schrieb:</p>
<blockquote>
<pre><code class="language-cpp">...
string e =&quot; hallo&quot;;
...
strcat(a, e.c_str() );
</code></pre>
</blockquote>
<p>Schau dir mal den 2. Paramter von strcat an.</p>
<p>Kommst du selber drauf?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212198</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212198</guid><dc:creator><![CDATA[DirkB]]></dc:creator><pubDate>Wed, 16 May 2012 11:51:57 GMT</pubDate></item><item><title><![CDATA[Reply to Char-Arrays verbinden on Wed, 16 May 2012 12:21:51 GMT]]></title><description><![CDATA[<p>DirkB schrieb:</p>
<blockquote>
<p>Frikelei schrieb:</p>
<blockquote>
<pre><code class="language-cpp">...
string e =&quot; hallo&quot;;
...
strcat(a, e.c_str() );
</code></pre>
</blockquote>
<p>Schau dir mal den 2. Paramter von strcat an.</p>
<p>Kommst du selber drauf?</p>
</blockquote>
<p>Achja, entschuldigung, das hab ich glatt übersehen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
<p>na gut, dann vielen Dank für die Hilfe! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212210</guid><dc:creator><![CDATA[Taeli]]></dc:creator><pubDate>Wed, 16 May 2012 12:21:51 GMT</pubDate></item><item><title><![CDATA[Reply to Char-Arrays verbinden on Wed, 16 May 2012 13:17:27 GMT]]></title><description><![CDATA[<p>Hier kannst du auch mal stöbern, was du so alles mit <code>std::string</code> machen kannst:</p>
<p><a href="http://www.cplusplus.com/reference/string/string/" rel="nofollow">http://www.cplusplus.com/reference/string/string/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212241</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 16 May 2012 13:17:27 GMT</pubDate></item></channel></rss>