<?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 oder vector&amp;lt;char&amp;gt;]]></title><description><![CDATA[<p>Ich glaube aus meiner Überschrift geht meine Frage schon etwas hervor: wenn ich einen char* in C++ umsetzen will empfiehlt es sich dann eher string oder eher vector&lt;char&gt; zu verwenden?</p>
<p>Des Weiteren wäre interessant ob man string in vector&lt;char&gt; und umgekehrt irgendwie konvertieren kann?!</p>
<p>Danke schonmal 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/topic/206723/string-oder-vector-lt-char-gt</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 21:07:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/206723.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 28 Feb 2008 08:27:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to string oder vector&amp;lt;char&amp;gt; on Thu, 28 Feb 2008 08:27:28 GMT]]></title><description><![CDATA[<p>Ich glaube aus meiner Überschrift geht meine Frage schon etwas hervor: wenn ich einen char* in C++ umsetzen will empfiehlt es sich dann eher string oder eher vector&lt;char&gt; zu verwenden?</p>
<p>Des Weiteren wäre interessant ob man string in vector&lt;char&gt; und umgekehrt irgendwie konvertieren kann?!</p>
<p>Danke schonmal 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/1464537</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1464537</guid><dc:creator><![CDATA[SeniiX]]></dc:creator><pubDate>Thu, 28 Feb 2008 08:27:28 GMT</pubDate></item><item><title><![CDATA[Reply to string oder vector&amp;lt;char&amp;gt; on Thu, 28 Feb 2008 08:29:03 GMT]]></title><description><![CDATA[<p>Nimm std::string. Mir fällt nichts ein, wo vector&lt;char&gt; mehr Sinn machen würde.</p>
<p>Zum Kopiereren geht wohl std::copy oder einer der vector-Konstruktoren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1464538</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1464538</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 28 Feb 2008 08:29:03 GMT</pubDate></item><item><title><![CDATA[Reply to string oder vector&amp;lt;char&amp;gt; on Thu, 28 Feb 2008 08:55:51 GMT]]></title><description><![CDATA[<p>Hm ich hab mir nur gedacht, da char* bzw. char[] ja ein CharArray darstellt, dass ich vielleicht in diesem Fall lieber vector&lt;char&gt; verwenden sollte.</p>
<p>Aber wenn string wirklich die bessere Lösung ist werde ich std::string verwenden.</p>
<p>Die Frage der Konvertierung bleibt jedoch. Ich habe gerade mit der Copy-Funktion der std::string versucht den String in einen vector&lt;char&gt; zu kopieren, bekomme jedoch Compiler-Errors <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1464553</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1464553</guid><dc:creator><![CDATA[SeniiX]]></dc:creator><pubDate>Thu, 28 Feb 2008 08:55:51 GMT</pubDate></item><item><title><![CDATA[Reply to string oder vector&amp;lt;char&amp;gt; on Thu, 28 Feb 2008 08:53:55 GMT]]></title><description><![CDATA[<p><div class="plugin-markdown"><input type="checkbox" id="checkbox37485" checked="true" /><label for="checkbox37485">ansprechen. <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="😉"
    /></label></div></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1464555</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1464555</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 28 Feb 2008 08:53:55 GMT</pubDate></item><item><title><![CDATA[Reply to string oder vector&amp;lt;char&amp;gt; on Thu, 28 Feb 2008 09:42:02 GMT]]></title><description><![CDATA[<p>SeniiX schrieb:</p>
<blockquote>
<p>Die Frage der Konvertierung bleibt jedoch. Ich habe gerade mit der Copy-Funktion der std::string versucht den String in einen vector&lt;char&gt; zu kopieren, bekomme jedoch Compiler-Errors <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
</blockquote>
<p>Wenn du denn unbedingt einen vector&lt;char&gt; aus einem C-String machen willst:</p>
<pre><code class="language-cpp">char mystring[20] = &quot;hello world&quot;;
std::size_t length = std::strlen(mystring);

typedef std::vector&lt;char&gt; chvec;

chvec A(mystring, mystring+length); //Range-Konstruktor

chvec B(std::strlen(mystring));     //genug platz bereitstellen...
std::copy(mystring, mystring+length, B.begin()); //und dann reinkopieren

chvec C; //leeren vector erstellen...
std::copy(mystring, mystring+length, std::back_inserter(C)); //und den String hintenan kopieren
</code></pre>
<p>Von std::string nach vector&lt;char&gt; sei dann dir zur Uebung ueberlassen <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="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1464570</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1464570</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 28 Feb 2008 09:42:02 GMT</pubDate></item><item><title><![CDATA[Reply to string oder vector&amp;lt;char&amp;gt; on Thu, 28 Feb 2008 10:27:47 GMT]]></title><description><![CDATA[<p>Ich danke euch vielmals <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/1464602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1464602</guid><dc:creator><![CDATA[SeniiX]]></dc:creator><pubDate>Thu, 28 Feb 2008 10:27:47 GMT</pubDate></item><item><title><![CDATA[Reply to string oder vector&amp;lt;char&amp;gt; on Thu, 28 Feb 2008 12:14:59 GMT]]></title><description><![CDATA[<p>SeniiX schrieb:</p>
<blockquote>
<p>Ich glaube aus meiner Überschrift geht meine Frage schon etwas hervor: wenn ich einen char* in C++ umsetzen will empfiehlt es sich dann eher string oder eher vector&lt;char&gt; zu verwenden?</p>
<p>Des Weiteren wäre interessant ob man string in vector&lt;char&gt; und umgekehrt irgendwie konvertieren kann?!</p>
<p>Danke schonmal 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>
</blockquote>
<p>vector&lt;char&gt; verwendet man auch, allerdings wenn, dann in kontexten, wo eine schnittstelle <code>char*</code> erwartet. einen std::string kann man nämlich nicht (ohne weiteres) als <code>char*</code> verwenden (wohl aber als <code>const char*</code> ).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1464681</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1464681</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Thu, 28 Feb 2008 12:14:59 GMT</pubDate></item><item><title><![CDATA[Reply to string oder vector&amp;lt;char&amp;gt; on Thu, 28 Feb 2008 15:10:07 GMT]]></title><description><![CDATA[<p>queer_boy schrieb:</p>
<blockquote>
<p>vector&lt;char&gt; verwendet man auch, allerdings wenn, dann in kontexten, wo eine schnittstelle <code>char*</code> erwartet. einen std::string kann man nämlich nicht (ohne weiteres) als <code>char*</code> verwenden (wohl aber als <code>const char*</code> ).</p>
</blockquote>
<p>Ja, darum gings mir eigentlich, weil ich gerade eine Library für eine SNMP-Kommunikation schreiben muss und dabei eine Art Vorlage in Java habe. Und der Datentyp byte[] wäre in ANSI C ja char*. Es ging mir eigentlich darum ob ich in diesem Kontext std::string verwenden kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1464800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1464800</guid><dc:creator><![CDATA[SeniiX]]></dc:creator><pubDate>Thu, 28 Feb 2008 15:10:07 GMT</pubDate></item><item><title><![CDATA[Reply to string oder vector&amp;lt;char&amp;gt; on Thu, 28 Feb 2008 15:26:34 GMT]]></title><description><![CDATA[<p>Ich würde in diesem Kontext ein std::vector&lt;unsigned char&gt; verwenden<br />
(byte entspricht unsigned char, nicht signed char)</p>
<p>Wenns allerdings um c- strings (mit 0 terminierung) geht würde ich std::string verwenden.</p>
<p>Gruss simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1464818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1464818</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Thu, 28 Feb 2008 15:26:34 GMT</pubDate></item><item><title><![CDATA[Reply to string oder vector&amp;lt;char&amp;gt; on Thu, 28 Feb 2008 16:40:49 GMT]]></title><description><![CDATA[<p>Hmja, so hatte ich es anfangs auch vor, bis dann auf einmal byte[] in string und umgekehrt konvertiert wurde und ich nicht wusste, wie ich einen vector&lt;char&gt; in std::string konvertiere.</p>
<p>Aber dieses Problem wurde sowieso bereits gelöst <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/1464883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1464883</guid><dc:creator><![CDATA[SeniiX]]></dc:creator><pubDate>Thu, 28 Feb 2008 16:40:49 GMT</pubDate></item><item><title><![CDATA[Reply to string oder vector&amp;lt;char&amp;gt; on Sat, 01 Mar 2008 11:45:14 GMT]]></title><description><![CDATA[<p>Ich habe jetzt wie folgt std::string in std::vector&lt;char&gt; konvertiert:</p>
<pre><code class="language-cpp">std::vector&lt;unsigned char&gt; stringToCharvector(std::string string_dummy)
{
	std::size_t length = string_dummy.size();;
	std::vector&lt;unsigned char&gt; chvec;

	for(int i=0; i&lt;length; i++) {
		chvec.push_back(string_dummy[i]);
	}

	return chvec;
}
</code></pre>
<p>Kann mir bitte noch schnell jemand sagen, ob das so richtig ist? Funktionieren tut diese Funktion. Allerdings wäre interessant, ob sie in dieser Form Risiken o. Ä. hat?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1465989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1465989</guid><dc:creator><![CDATA[SeniiX]]></dc:creator><pubDate>Sat, 01 Mar 2008 11:45:14 GMT</pubDate></item><item><title><![CDATA[Reply to string oder vector&amp;lt;char&amp;gt; on Mon, 03 Mar 2008 10:13:20 GMT]]></title><description><![CDATA[<p>1. Übergib den std::string per const &amp;.<br />
2. Benutze doch std::copy</p>
<pre><code class="language-cpp">// std::copy ist im header &lt;algorithm&gt;
std::vector&lt;unsigned char&gt; stringToCharvector(const std::string&amp; s)
{
   // So wird das terminierende 0 nicht mitkopiert !
   std::vector&lt;unsigned char&gt; v(s.size());
   std::copy(s.begin(), s.end(), v.begin());
   return v;
}
</code></pre>
<p>Simon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1467152</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1467152</guid><dc:creator><![CDATA[simon.gysi]]></dc:creator><pubDate>Mon, 03 Mar 2008 10:13:20 GMT</pubDate></item><item><title><![CDATA[Reply to string oder vector&amp;lt;char&amp;gt; on Mon, 03 Mar 2008 11:38:47 GMT]]></title><description><![CDATA[<p>Ich denke, so würde es auch gehen:</p>
<pre><code class="language-cpp">std::vector&lt;std::string::value_type&gt; stringToCharvector( const std::string&amp; s )
{
   return std::vector&lt;std::string::value_type&gt;( s.begin(), s.end() );
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1467196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1467196</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Mon, 03 Mar 2008 11:38:47 GMT</pubDate></item></channel></rss>