<?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[strcpy und struct]]></title><description><![CDATA[<p>Hi,<br />
Ich arbeite bei threads mit structs und caste es dann in den threads um die daten zu verwenden.<br />
Doch wenn ich mit strcpy im main thread ein char array auf das char array im struct schreibe, dann stürtzt das Programm ab. Meine Frage ist, warum ist das so und wie kann ich es anders machen?</p>
<p>MFG ReduX</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/205743/strcpy-und-struct</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 06:46:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/205743.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 17 Feb 2008 16:00:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to strcpy und struct on Sun, 17 Feb 2008 16:00:21 GMT]]></title><description><![CDATA[<p>Hi,<br />
Ich arbeite bei threads mit structs und caste es dann in den threads um die daten zu verwenden.<br />
Doch wenn ich mit strcpy im main thread ein char array auf das char array im struct schreibe, dann stürtzt das Programm ab. Meine Frage ist, warum ist das so und wie kann ich es anders machen?</p>
<p>MFG ReduX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1457615</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1457615</guid><dc:creator><![CDATA[ReduX]]></dc:creator><pubDate>Sun, 17 Feb 2008 16:00:21 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Sun, 17 Feb 2008 16:12:34 GMT]]></title><description><![CDATA[<p>Nichts aus der Standardbibliothek ist thread-safe. Da musst Du den Zugriff auf das Array synchronisieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1457618</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1457618</guid><dc:creator><![CDATA[Entenverwickler]]></dc:creator><pubDate>Sun, 17 Feb 2008 16:12:34 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Sun, 17 Feb 2008 19:00:57 GMT]]></title><description><![CDATA[<p>Hi,<br />
Ja aber es sind doch verschiedene Adressen Bsp.:</p>
<pre><code class="language-cpp">struct data {
int id;
};
void thread(void* arg)
{
int i = static_cast&lt;data*&gt;(arg)-&gt;id;
printf(&quot;%d&quot;,i);
}
int main(void) {
while(1) {
if(event) {
data forthread;
forthread.id = 4;
pthread_t t2;
pthread_create(&amp;t2,0,(void*)thread,&amp;forthread);
}
}
}
</code></pre>
<p>Jedesmal wenn er einen neuen struct anlegt ist es doch automatisch eine andere Adresse im Speicher. Außerdem wenn es nicht thread save wäre dann würde es im Prinzip ja nur den Inhalt ändern?!? Aber das Programm stürtzt ja ab.</p>
<p>MFG ReduX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1457756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1457756</guid><dc:creator><![CDATA[ReduX]]></dc:creator><pubDate>Sun, 17 Feb 2008 19:00:57 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Sun, 17 Feb 2008 19:38:11 GMT]]></title><description><![CDATA[<p>Du musst den Gültigkeitsbereich der Variablen beachten. In deiner Schleife wird immer wieder die Variable &quot;forthread&quot; auf dem Stack erstellt und ein Zeiger darauf dem Thread übergeben. Direkt nachdem der Thread gestartet wurde, wird die Variable &quot;forthread&quot; sofort wieder zerstört, da der Block und damit die Lebenszeit dieser Variable endet. Die Variable ist also weg, der Zeiger darauf ungültig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1457780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1457780</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sun, 17 Feb 2008 19:38:11 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Mon, 18 Feb 2008 14:20:09 GMT]]></title><description><![CDATA[<p>Hi,<br />
Danke für deine Antwort.<br />
Wie meinste wie ich das Problem am optimalsten löse?<br />
Sollte ich einen globalen struct machen, und diesen vor dem thread start mit daten füttern und dann im thread in eine lokale Variable lesen? Reicht dort die Zeit bevor die Hauptschleife wieder an der if Abfrage ist?</p>
<p>MFG ReduX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1458212</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1458212</guid><dc:creator><![CDATA[ReduX]]></dc:creator><pubDate>Mon, 18 Feb 2008 14:20:09 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Mon, 18 Feb 2008 14:36:56 GMT]]></title><description><![CDATA[<p>Du könntest die Variable mit &quot;new&quot; auf dem Heap erstellen und dem Thread übergeben. Wenn der Thread mit der Ausführung fertig ist, wendet er &quot;delete&quot; drauf an.<br />
Ich weiß nicht, ob das optimal oder eben sogar am optimalsten ist (:D), aber ich würde keine Abschätzung machen, wie lange es dauern könnte, bis der Thread sich selbst ne Kopie von der Variablen gemacht hat oder so <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/1458218</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1458218</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Mon, 18 Feb 2008 14:36:56 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Mon, 18 Feb 2008 17:40:38 GMT]]></title><description><![CDATA[<p>Hi,<br />
Kannst du mir sagen ob ich das so richtig mache?(Habe es mit den Adressen nicht so):</p>
<pre><code class="language-cpp">struct data {
  int id;
  char* buffer;
};
void thread(void* arg)
{
int i = static_cast&lt;data*&gt;(arg)-&gt;id;
int size = strlen(static_cast&lt;data*&gt;(arg)-&gt;buffer);
char* buf = new char[size+1];
strcpy(buf,static_cast&lt;data*&gt;(arg)-&gt;buffer);
//blablabla
delete [] buf;
//lösche struct:
delete [] &amp;arg; // Ist das so richtig? 
}
int main(void)
{
//blabla
data* ver = new data;
ver.id = i;
// starte ptherad und übergebe adresse
}
</code></pre>
<p>MFG ReduX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1458340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1458340</guid><dc:creator><![CDATA[ReduX]]></dc:creator><pubDate>Mon, 18 Feb 2008 17:40:38 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Mon, 18 Feb 2008 18:35:01 GMT]]></title><description><![CDATA[<p>Aufräumen;</p>
<pre><code class="language-cpp">struct thread_data_t
{
    unsigned int id;
    char* data;

    thread_data_t(const char* string = NULL, const unsigned int id = 0)
        : data(new char[std::strlen(string)]()), id(id)
    {
        std::strcpy(data, string);
    }
    ~thread_data_t()
    {
        delete [] data;
    }
};

void thread(void* ptr_arg)
{
    thread_data_t* ptr_data(static_cast&lt;thread_data_t*&gt;(ptr_arg));

    // copy data
    const unsigned int id(ptr_data-&gt;id);
    char* data(new char[std::strlen(ptr_data-&gt;data) + 1]());
    std::strcpy(data, ptr_data-&gt;data);

    // TODO: Do something!

    delete [] data;
}

int main()
{
    thread_data_t* ptr_data(new thread_data_t(&quot;Test&quot;, 10));
    thread(ptr_data);
    delete ptr_data;
}
</code></pre>
<p>was du da machen wolltest geht nicht, da du nicht einen void-Zeiger löschen kannst, weil dieser keine Größe hat!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1458376</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1458376</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 18 Feb 2008 18:35:01 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Tue, 19 Feb 2008 08:25:50 GMT]]></title><description><![CDATA[<p>ReduX schrieb:</p>
<blockquote>
<p>...optimalsten...</p>
</blockquote>
<p>Oh Oh Oh ... wenn ich da nicht mal wieder 4 Seiten Germanistik-Diskussion heranrauschen höre !!! <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>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1458602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1458602</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 19 Feb 2008 08:25:50 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Tue, 19 Feb 2008 14:42:29 GMT]]></title><description><![CDATA[<p>Simon2 schrieb:</p>
<blockquote>
<p>Oh Oh Oh ... wenn ich da nicht mal wieder 4 Seiten Germanistik-Diskussion heranrauschen höre !!! <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>
<p>Gruß,</p>
<p>Simon2.</p>
</blockquote>
<p>Och, der Link zu den anderen 8 Seiten von neulich würd doch schon reichen ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1458910</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1458910</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 19 Feb 2008 14:42:29 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Tue, 19 Feb 2008 17:46:49 GMT]]></title><description><![CDATA[<p>Hi,<br />
Danke für deine Antwort!<br />
Der Code läuft soweit nur stürtzt das Programm ab.<br />
Ich denke es liegt daran:</p>
<pre><code class="language-cpp">int main()
{
    thread_data_t* ptr_data(new thread_data_t(&quot;Test&quot;, 10));
    thread(ptr_data);
    delete ptr_data; // Im thread wurden die Daten wahrscheinlich nochnicht rauskopiert!
}
</code></pre>
<p>Kann ich statt im main die daten auch im thread löschen?</p>
<p>MFG ReduX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1459027</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1459027</guid><dc:creator><![CDATA[ReduX]]></dc:creator><pubDate>Tue, 19 Feb 2008 17:46:49 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Wed, 20 Feb 2008 13:06:07 GMT]]></title><description><![CDATA[<p>ja ... aber am saunbersten wäre es, wenn du auf den Thread warten würdest ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1459410</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1459410</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Wed, 20 Feb 2008 13:06:07 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Wed, 20 Feb 2008 18:18:16 GMT]]></title><description><![CDATA[<p>Tag,<br />
Also das Problem ist dabei das der main thread an einen Port gebunden ist und auf clients horcht. Ich übergebe dann wenn einer Connected die id an den thread um weiter zu verfahren. Da kann ich nicht warten weil sonst würde der ganze Server blockieren. Bzw. was ist daran nicht sauber? gibts dadurch speicherleaks oder so?</p>
<p>MFG ReduX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1459669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1459669</guid><dc:creator><![CDATA[ReduX]]></dc:creator><pubDate>Wed, 20 Feb 2008 18:18:16 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Wed, 20 Feb 2008 18:26:47 GMT]]></title><description><![CDATA[<p>ReduX schrieb:</p>
<blockquote>
<p>Bzw. was ist daran nicht sauber? gibts dadurch speicherleaks oder so?</p>
</blockquote>
<p>Normalerweise sollte derjenige Teil, der den Speicher anfordert, ihn auch wieder freigeben. In diesem Fall ist es meiner Meinung nach aber ok, wenn der Haupthread den Speicher anfordert und der gestartete Thread ihn wieder freigibt. Dürfte auch keine Speicherlecks geben, also von daher alles ok.</p>
<p>Wenn du nur einen Wert übergeben willst und <code>sizeof(Wert)&lt;=sizeof(void*)</code> gilt, dann kannst du deinen Wert auch zu einer Adresse casten, der Thread castet den void-Zeiger wieder auf den Wert um und du brauchst keinen Speicher zu allokieren/freizugeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1459675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1459675</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Wed, 20 Feb 2008 18:26:47 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Thu, 21 Feb 2008 13:27:52 GMT]]></title><description><![CDATA[<p>Hi,<br />
Danke für deine Antwort.<br />
Das Problem ist ich weiß nicht wie ich es im Thread mit delete löschen soll.<br />
Habe mit Adressen irgendwie Probleme weil in void*arg steht ja die Adresse drin aber warum geht dann &quot;delete arg&quot; nicht?</p>
<p>MFG ReduX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1460198</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460198</guid><dc:creator><![CDATA[ReduX]]></dc:creator><pubDate>Thu, 21 Feb 2008 13:27:52 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Thu, 21 Feb 2008 13:36:22 GMT]]></title><description><![CDATA[<p>Weil es ein void-Pointer ist. Und was soll er denn dann dort löschen wo der Zeiger hinzeigt? Void/nichts?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1460213</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460213</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Thu, 21 Feb 2008 13:36:22 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Thu, 21 Feb 2008 15:50:35 GMT]]></title><description><![CDATA[<p>Hi,<br />
Irgendwie stürtzt das Programm immer noch ab. Hier der Vorab Code(Patchwork):</p>
<pre><code class="language-cpp">struct data
{
    unsigned int id;
    char* info;

    data(const char* string = NULL,const unsigned int id = 0) : info(new char[strlen(string)]),id(id)
    {
        strcpy(info, string);
    }
    ~data()
    {
        delete [] info;
    }
};
void verification(void* arg)
{
data* ptr_data(static_cast&lt;data*&gt;(arg));
unsigned int i(ptr_data-&gt;id);
int size = strlen(ptr_data-&gt;info);
char* buffer = new char[size+1];
strcpy(buffer,ptr_data-&gt;info);
printf(&quot;ID: %id, Buffer: %s&quot;,i,buffer);
delete [] buffer;
}
int main()
{
while(1) {
if(event) {
data* ver(new data(&quot;TestTest&quot;,32));
_beginthread(verification,0,&amp;ver);
}
}
}
</code></pre>
<p>MFG ReduX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1460324</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460324</guid><dc:creator><![CDATA[ReduX]]></dc:creator><pubDate>Thu, 21 Feb 2008 15:50:35 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Thu, 21 Feb 2008 16:32:58 GMT]]></title><description><![CDATA[<p>new char[strlen(string)]<br />
=&gt;<br />
new char[strlen(string)+1]</p>
<p>Oder einfach std::string verwenden...</p>
<p>und darf man fragen, wieso du Variablen so <code>data* ver(new data(&quot;TestTest&quot;,32));</code> initialisierst, anstatt <code>data* ver = ...</code> ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1460367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460367</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Thu, 21 Feb 2008 16:32:58 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Thu, 21 Feb 2008 17:03:58 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;cstring&gt; // std::strcpy, std::strlen
#include &lt;iostream&gt; // std::cout, std::endl

struct data
{
    unsigned int id;
    char* info;

    data(const char* string = NULL, const unsigned int id = 0) 
        : info(new char[std::strlen(string) + 1]()), id(id) // hier + 1 bei info-initialisierung, da sonst Nullterminierung fehlt!
    { std::strcpy(info, string); }

    ~data()
    { delete [] info; }
};

void verification(void* arg)
{
    data* ptr_data(static_cast&lt;data*&gt;(arg));

    // const, du veränderst nichts mehr an der id!
    const unsigned int id(ptr_data-&gt;id);
    // const, denn auch die Größe veränderst du nicht ;)
    const std::size_t size(std::strlen(ptr_data-&gt;info) + 1);
    char* buffer(new char[size]);
    std::strcpy(buffer, ptr_data-&gt;info);

    std::cout &lt;&lt; &quot;ID: &quot; &lt;&lt; id &lt;&lt; &quot;, Buffer: &quot; &lt;&lt; buffer &lt;&lt; std::endl;

    delete [] buffer;
}

int main()
{
    while(1) 
    {
        if (event) 
        {
            data* ver(new data(&quot;TestTest&quot;, 32));
            ::_beginthread(verification, 0, ver); // WARUM &amp;ver? ver ist schon ein Zeiger!
        }
    }
}
</code></pre>
<p>Aber einfacher:</p>
<pre><code class="language-cpp">#include &lt;string&gt;

void verification(void* arg)
{
    data* ptr_data(static_cast&lt;data*&gt;(arg));
    std::cout &lt;&lt; &quot;ID: &quot; &lt;&lt; ptr_data-&gt;id &lt;&lt; &quot;, Buffer: &quot; &lt;&lt; ptr_data-&gt;info &lt;&lt; std::endl;
}
</code></pre>
<p>... <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/1460402</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460402</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 21 Feb 2008 17:03:58 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Thu, 21 Feb 2008 17:22:06 GMT]]></title><description><![CDATA[<p>Oder eben mit <strong>strings (!!)</strong></p>
<pre><code class="language-cpp">#include &lt;cstring&gt; // std::strcpy, std::strlen
#include &lt;iostream&gt; // std::cout, std::endl
#include &lt;string&gt; // std::string

struct data
{
    unsigned int id;
    std::string info;

    data( const std::string str=&quot;&quot;, const unsigned int id=0 ) : info(str), id(id)
    { }
};

void verification( void* arg )
{
    data* my_data = reinterpret_cast&lt;data*&gt;( arg );
    std::cout &lt;&lt; &quot;ID: &quot; &lt;&lt; my_data-&gt;id &lt;&lt; &quot;, Buffer: &quot; &lt;&lt; my_data-&gt;buffer &lt;&lt; std::endl;
    delete my_data;
}

int main()
{
    while(1)
    {
        if (event)
        {
            ::_beginthread( verification, 0, new data(&quot;TestTest&quot;,32) );
        }
    }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1460417</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460417</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Thu, 21 Feb 2008 17:22:06 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Thu, 21 Feb 2008 17:37:23 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13210">@Badestrand</a>: Kennst aber schon Referenzen? <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/1460437</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1460437</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Thu, 21 Feb 2008 17:37:23 GMT</pubDate></item><item><title><![CDATA[Reply to strcpy und struct on Fri, 22 Feb 2008 16:52:46 GMT]]></title><description><![CDATA[<p>Hi,<br />
Danke für eure Antworten.<br />
Also abstürtzen tut es jetzt nicht mehr <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="🙂"
    /><br />
Jetzt hab ich nurnoch eine fragen:<br />
Muss ich wenn ich mit recv empfange das char array null terminieren? Also:</p>
<pre><code class="language-cpp">buf[1024];
rc = recv();
buf[rc] = '\0';
</code></pre>
<p>ist das notwendig?</p>
<p>MFG ReduX</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1461091</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1461091</guid><dc:creator><![CDATA[ReduX]]></dc:creator><pubDate>Fri, 22 Feb 2008 16:52:46 GMT</pubDate></item></channel></rss>