<?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[CString.GetBuffer(0) =&amp;gt; char*]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich muss einem <em><em>char</em> argv[x]</em>* 2 Werte vom Typ <strong>CString</strong> zuweisen, weil eine andere Funktion so ein &quot;char*-Argumenten-Array&quot; übergeben haben will.</p>
<p>Nun bin ich mir nicht sicher, ob ich das so machen darf:</p>
<pre><code class="language-cpp">char* my_argv[1];
CString str;

str = ...(irgendeine Zuweisung);

my_argv[0] = &quot;&quot;;
my_argv[1] = str.GetBuffer(0);
</code></pre>
<p>Es funktioniert, <strong>egal</strong>, wie lang <em>str</em> ist, nur:</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Ist es jemandem bekannt, das man so die Länge von <em>str</em> so nicht wissen muß? Oder ist das vielleicht nur Zufall?<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Muss ich in jedem Fall noch <em>str.ReleaseBuffer()</em> aufrufen? Auch, wenn ich &quot;0&quot; bei GetBuffer übergeben habe?</p>
<p><strong>Und:</strong><br />
Folgenden Trick habe ich hier im Forum gefunden.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Ist das evtl. besser als die obige Methode? Ich verstehe die Typkonvertierung nicht so ganz. Kann das jemand kurz erklären?</p>
<pre><code class="language-cpp">char* my_argv[1];
CString str;
...
my_argv[1] = (LPSTR)(LPCSTR)str;
</code></pre>
<p>Schon mal vielen Dank im Voraus,</p>
<p>Sebastian</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/52614/cstring-getbuffer-0-gt-char</link><generator>RSS for Node</generator><lastBuildDate>Mon, 01 Jun 2026 01:27:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/52614.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 21 Oct 2003 19:41:18 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CString.GetBuffer(0) =&amp;gt; char* on Tue, 21 Oct 2003 19:41:18 GMT]]></title><description><![CDATA[<p>Hallo!</p>
<p>Ich muss einem <em><em>char</em> argv[x]</em>* 2 Werte vom Typ <strong>CString</strong> zuweisen, weil eine andere Funktion so ein &quot;char*-Argumenten-Array&quot; übergeben haben will.</p>
<p>Nun bin ich mir nicht sicher, ob ich das so machen darf:</p>
<pre><code class="language-cpp">char* my_argv[1];
CString str;

str = ...(irgendeine Zuweisung);

my_argv[0] = &quot;&quot;;
my_argv[1] = str.GetBuffer(0);
</code></pre>
<p>Es funktioniert, <strong>egal</strong>, wie lang <em>str</em> ist, nur:</p>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Ist es jemandem bekannt, das man so die Länge von <em>str</em> so nicht wissen muß? Oder ist das vielleicht nur Zufall?<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Muss ich in jedem Fall noch <em>str.ReleaseBuffer()</em> aufrufen? Auch, wenn ich &quot;0&quot; bei GetBuffer übergeben habe?</p>
<p><strong>Und:</strong><br />
Folgenden Trick habe ich hier im Forum gefunden.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> Ist das evtl. besser als die obige Methode? Ich verstehe die Typkonvertierung nicht so ganz. Kann das jemand kurz erklären?</p>
<pre><code class="language-cpp">char* my_argv[1];
CString str;
...
my_argv[1] = (LPSTR)(LPCSTR)str;
</code></pre>
<p>Schon mal vielen Dank im Voraus,</p>
<p>Sebastian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/376806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/376806</guid><dc:creator><![CDATA[sebhad]]></dc:creator><pubDate>Tue, 21 Oct 2003 19:41:18 GMT</pubDate></item><item><title><![CDATA[Reply to CString.GetBuffer(0) =&amp;gt; char* on Tue, 21 Oct 2003 19:50:44 GMT]]></title><description><![CDATA[<p><a href="http://c-plusplus.net/forum/viewtopic.php?t=52605" rel="nofollow">http://c-plusplus.net/forum/viewtopic.php?t=52605</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/376812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/376812</guid><dc:creator><![CDATA[Knuddlbaer]]></dc:creator><pubDate>Tue, 21 Oct 2003 19:50:44 GMT</pubDate></item><item><title><![CDATA[Reply to CString.GetBuffer(0) =&amp;gt; char* on Tue, 21 Oct 2003 20:15:53 GMT]]></title><description><![CDATA[<p>ja, tut mir leid, ich habe vorher das falsche Forum (C++) verwendet <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    />. Jetzt habe ich mir halt gedacht, vielleicht hat ja hier noch jemand einen ganz schlauen Tipp... Ich will aber niemandem die Zeit stehlen. Ist doch alles freiwillig.</p>
<p>Tschuldigung</p>
]]></description><link>https://www.c-plusplus.net/forum/post/376822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/376822</guid><dc:creator><![CDATA[sebhad]]></dc:creator><pubDate>Tue, 21 Oct 2003 20:15:53 GMT</pubDate></item></channel></rss>