<?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[vector&amp;lt;string&amp;gt; mit Werten zwischen 0 - 255 in char array speichern]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe einen vector vom Typ std::string die Strings sind alles Zahlen zwischen 0 und 255 jetzt möchte ich den gesamten string in einem char array speichern, so ungefähr:</p>
<pre><code class="language-cpp">vector&lt;string&gt;daten;
char *c = new char[daten.size()];
std::transform(daten.begin(),daten.end(),c,umwandeln);
</code></pre>
<p>Meine Frage ist wie kann std::string zu char wandeln ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/256970/vector-lt-string-gt-mit-werten-zwischen-0-255-in-char-array-speichern</link><generator>RSS for Node</generator><lastBuildDate>Thu, 10 Sep 2026 22:02:55 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/256970.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 20 Dec 2009 18:30:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to vector&amp;lt;string&amp;gt; mit Werten zwischen 0 - 255 in char array speichern on Sun, 20 Dec 2009 18:30:56 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich habe einen vector vom Typ std::string die Strings sind alles Zahlen zwischen 0 und 255 jetzt möchte ich den gesamten string in einem char array speichern, so ungefähr:</p>
<pre><code class="language-cpp">vector&lt;string&gt;daten;
char *c = new char[daten.size()];
std::transform(daten.begin(),daten.end(),c,umwandeln);
</code></pre>
<p>Meine Frage ist wie kann std::string zu char wandeln ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1825514</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1825514</guid><dc:creator><![CDATA[KnechtRuprecht]]></dc:creator><pubDate>Sun, 20 Dec 2009 18:30:56 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;string&amp;gt; mit Werten zwischen 0 - 255 in char array speichern on Sun, 20 Dec 2009 18:43:01 GMT]]></title><description><![CDATA[<p>std::string versteht die Methode c_str(). c_str() gibt dir einen char* zurück. Also einen Pointer auf einen nativen char Array.Die 2. Zeile bei dir ist aber falsch, weil du gar nicht weißt, wie lang jeder einzelne string ist. Du musst erst mal durch deinen Vektor iterieren und die Länge aller strings aufsummieren. Danach kannste erst allozieren und dann die Inhalte kopieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1825517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1825517</guid><dc:creator><![CDATA[_DopeShow_]]></dc:creator><pubDate>Sun, 20 Dec 2009 18:43:01 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;string&amp;gt; mit Werten zwischen 0 - 255 in char array speichern on Sun, 20 Dec 2009 18:43:23 GMT]]></title><description><![CDATA[<p>Ein String entspricht einem <code>char</code> -Array, keinem einzelnen <code>char</code> . Folglich würde ein Container aus Strings einem Array aus <code>char</code> -Arrays entsprechen.</p>
<p>Wie möchtest du die Strings also speichern? Alle aneinandergehängt, oder für jeden ein eigenes Array? Und vielleicht noch viel wichtiger: Wieso brauchst du überhaupt die Umwandlung in <code>char</code> -Arrays, was stört dich am Container?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1825518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1825518</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 20 Dec 2009 18:43:23 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;string&amp;gt; mit Werten zwischen 0 - 255 in char array speichern on Sun, 20 Dec 2009 18:49:04 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">using namespace std;
	vector&lt;string&gt; v;
	v.push_back(&quot;1&quot;);
	v.push_back(&quot;2&quot;);
	v.push_back(&quot;3&quot;);

	vector&lt;char&gt; c1(v.size());

        // using cstdlib atoi
	struct tochar{
		char operator ()(std::string&amp; s){
			return atoi(s.c_str());
		}
	};

        // using streams
	struct tochar2{
		char operator ()(std::string&amp; s){
			istringstream ss(s);
			short c;
			if (!(ss &gt;&gt; c))
				throw &quot;bad cast&quot;;
			return static_cast&lt;char&gt;(c);
		}
	};
	transform(v.begin(),v.end(),c1.begin(),tochar());

	vector&lt;char&gt; c2;
	transform(v.begin(), v.end(), back_inserter(c2), tochar2());
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1825521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1825521</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Sun, 20 Dec 2009 18:49:04 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;string&amp;gt; mit Werten zwischen 0 - 255 in char array speichern on Sun, 20 Dec 2009 19:01:40 GMT]]></title><description><![CDATA[<p>Danke genau sowas habe ich gesucht <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/1825527</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1825527</guid><dc:creator><![CDATA[KnechtRuprecht]]></dc:creator><pubDate>Sun, 20 Dec 2009 19:01:40 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;string&amp;gt; mit Werten zwischen 0 - 255 in char array speichern on Sun, 20 Dec 2009 19:05:04 GMT]]></title><description><![CDATA[<p>Ich gehe mal davon aus, dass er z.B. ein String array {&quot;237&quot;, &quot;123&quot;, &quot;53&quot;} hat und daraus ein (unsigned) char array {237, 123, 53} machen will.</p>
<p>Für das Umwandeln könntest du boost::lexical_cast verwenden. Also:</p>
<pre><code class="language-cpp">#include &lt;boost/lexical_cast.hpp&gt;
..
vector&lt;string&gt; daten;
unsigned char *c = new unsigned char[daten.size()];
std::transform(daten.begin(),daten.end(),c, boost::lexical_cast&lt;int,std::string&gt;);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1825528</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1825528</guid><dc:creator><![CDATA[life]]></dc:creator><pubDate>Sun, 20 Dec 2009 19:05:04 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;string&amp;gt; mit Werten zwischen 0 - 255 in char array speichern on Sun, 20 Dec 2009 19:09:59 GMT]]></title><description><![CDATA[<p>Möglicherweise hilft dir auch die Klasse, die ich vor einiger Zeit für ein anderes Problem geschrieben habe:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-255092-and-start-is-10.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-255092-and-start-is-10.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1825530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1825530</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 20 Dec 2009 19:09:59 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;string&amp;gt; mit Werten zwischen 0 - 255 in char array speichern on Sun, 20 Dec 2009 19:22:18 GMT]]></title><description><![CDATA[<p>Danke für die Hinweise, ich werde mir die unterschiedlichen Lösungen einmal angucken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1825534</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1825534</guid><dc:creator><![CDATA[KnechtRuprecht]]></dc:creator><pubDate>Sun, 20 Dec 2009 19:22:18 GMT</pubDate></item><item><title><![CDATA[Reply to vector&amp;lt;string&amp;gt; mit Werten zwischen 0 - 255 in char array speichern on Mon, 21 Dec 2009 17:20:23 GMT]]></title><description><![CDATA[<p>Man kann übrigens überall wo man ein array benötigt einen vector benutzen, da dieser die entsprechende Garantie bietet die Elemente in einem zusammenhängenden Speicherbereich zu halten.</p>
<pre><code class="language-cpp">void f(char *);

vector&lt;char&gt; v;
copy(vonirgendwo-nach_v);
f(&amp;v[0]);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1826029</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1826029</guid><dc:creator><![CDATA[brotbernd]]></dc:creator><pubDate>Mon, 21 Dec 2009 17:20:23 GMT</pubDate></item></channel></rss>