<?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[Sicheres zuweisen von string vector an char**]]></title><description><![CDATA[<p>Hallo,</p>
<p>wie kann ich einen vector (std::vector<a href="std::string" rel="nofollow">std::string</a>) einer C-Funktion mit folgender Signatur zuweisen ohne zu kopieren:</p>
<p>void C_Funktion(const char * const *data, int len);</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/202175/sicheres-zuweisen-von-string-vector-an-char</link><generator>RSS for Node</generator><lastBuildDate>Tue, 06 Oct 2026 14:09:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/202175.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 08 Jan 2008 15:31:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Sicheres zuweisen von string vector an char** on Tue, 08 Jan 2008 15:31:42 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wie kann ich einen vector (std::vector<a href="std::string" rel="nofollow">std::string</a>) einer C-Funktion mit folgender Signatur zuweisen ohne zu kopieren:</p>
<p>void C_Funktion(const char * const *data, int len);</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1433086</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1433086</guid><dc:creator><![CDATA[Ernie_m]]></dc:creator><pubDate>Tue, 08 Jan 2008 15:31:42 GMT</pubDate></item><item><title><![CDATA[Reply to Sicheres zuweisen von string vector an char** on Tue, 08 Jan 2008 15:33:57 GMT]]></title><description><![CDATA[<p>Garnicht. Wüsste nicht das std::string einen operator const char* überladen hat(dann wäre es einfach: static_cast&lt;const char**&gt;(&amp;vec[0]) ... aber so geht es nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1433088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1433088</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 08 Jan 2008 15:33:57 GMT</pubDate></item><item><title><![CDATA[Reply to Sicheres zuweisen von string vector an char** on Tue, 08 Jan 2008 15:56:01 GMT]]></title><description><![CDATA[<p>mainzstu fiellaicht sowas hir:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

void cf( const char* data )
{
	puts(data);
}
int main()
{
	string str(&quot;pappnase&quot;);
	cf(str.c_str());
    return 0;
}
</code></pre>
<p><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/1433112</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1433112</guid><dc:creator><![CDATA[Bert_m]]></dc:creator><pubDate>Tue, 08 Jan 2008 15:56:01 GMT</pubDate></item><item><title><![CDATA[Reply to Sicheres zuweisen von string vector an char** on Tue, 08 Jan 2008 16:00:19 GMT]]></title><description><![CDATA[<p>Die String-Kopien kann man verhindern. Die String-Zeiger einmal in ein Array zu kopieren wird Dir nicht erspart bleiben.</p>
<pre><code class="language-cpp">std::vector&lt;char const*&gt; pointers(strings.size());
for (int i = 0; i &lt; strings.size(); ++i) {
    pointers[i] = string[i].c_str();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1433115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1433115</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Tue, 08 Jan 2008 16:00:19 GMT</pubDate></item><item><title><![CDATA[Reply to Sicheres zuweisen von string vector an char** on Tue, 08 Jan 2008 18:56:52 GMT]]></title><description><![CDATA[<p>hm das sollte funktionieren, allerdings musst du vorsichtig mit dem vector&lt;string&gt; sein, während die daten weitergereicht werden:</p>
<pre><code class="language-cpp">vector&lt;string&gt; original;
vector&lt;char const*&gt; converted;

char const* trans (std::string const&amp; s)
{
   return s.c_str();
}

//...
transform (original.begin(), original.end(), back_inserter(converted), trans);
//oder
transform (original.begin(), original.end(), back_inserter(converted), tr1::bind(&amp;string::c_str, tr1::placeholders::_1));

C_Funktion(&amp;converted[0]);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1433254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1433254</guid><dc:creator><![CDATA[queer_boy]]></dc:creator><pubDate>Tue, 08 Jan 2008 18:56:52 GMT</pubDate></item><item><title><![CDATA[Reply to Sicheres zuweisen von string vector an char** on Wed, 09 Jan 2008 08:34:08 GMT]]></title><description><![CDATA[<p>Vielen Dank für die Antworten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1433437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1433437</guid><dc:creator><![CDATA[Ernie_m]]></dc:creator><pubDate>Wed, 09 Jan 2008 08:34:08 GMT</pubDate></item></channel></rss>