<?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[Pointer Prob]]></title><description><![CDATA[<pre><code class="language-cpp">// split datavector into vector xsddata and xmldata
void xml::getrawdata(vector &lt;string&gt;  rawdatavec,vector &lt;string&gt; *XsdData,vector &lt;string&gt; *XmlData)
{
size_t xsdstart, xsdend;
string temp, xsd, xml;
vector &lt;string&gt;::iterator it;

  for ( it=rawdatavec.begin() ; it &lt; rawdatavec.end(); it++ )
    {
//     Xsd Parse
    temp = *it;
    xsdstart = temp.find(&quot;&lt;xsd:complexType&quot;); xsdend = temp.find(&quot;&lt;/xsd:complexType&gt;&quot;); 
    xsd = temp.substr(xsdstart,xsdend - xsdstart +18);
    XsdData-&gt;push_back(xsd);
//     Xml Parse
    xml = temp.substr(xsdend+18);
    XmlData-&gt;push_back(xml);
    }
	delete XsdData, XmlData;
}
</code></pre>
<pre><code class="language-cpp">int base::setdata(vector &lt;string&gt; testdata)
{
	typedef vector &lt;string&gt; Xdat;
	xml mainxml;
	Xdat xsddata;
	Xdat xmldata;

	mainxml.getrawdata(testdata,&amp;xsddata,&amp;xmldata);
	//create xmldata
	string xmlmaindata = mainxml.createxml(getxdata(xsddata),getxdata(xmldata));
    //clear data form the pointer
	xmldata.clear();
	xsddata.clear();
	//set local variables
	string xslfile,userid,userpdf,printpdf,rmpdf;
	//ID for incoming testdata
	userid = generrateuuid();
	//create Pdf file path with the usrid
	userpdf=&quot;/tmp/&quot;; userpdf+=userid; userpdf+=&quot;.pdf&quot;;
	//Create a pdf
	mainxml.xml2pdf(xmlmaindata, &quot;/local/administrator/Dokumente/test.xsl&quot;, userpdf);
	//print pdf
	printpdf=&quot;lpr &quot;; printpdf+=userpdf;
	//system(stringtoconstchar(printpdf));
	//remove pdf
	rmpdf=&quot;rm &quot;; rmpdf+=userpdf;
	system(stringtoconstchar(rmpdf));
	// write in postgresql db und development
	database maindb;
	maindb.exec(userid,xmlmaindata);
	return 0;
}
</code></pre>
<p>Bekomme Speicher zugriff Fehler kann den Fehler nicht finden, wenn ich das delete in der Funktion getrawdata wegnehme ist speicher zugriff Fehler weg aber der Pointer füllt sich und wird nicht gelösche so das sich die Daten immer an sammeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/247524/pointer-prob</link><generator>RSS for Node</generator><lastBuildDate>Thu, 17 Sep 2026 12:46:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/247524.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 12 Aug 2009 09:06:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Pointer Prob on Wed, 12 Aug 2009 09:06:25 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">// split datavector into vector xsddata and xmldata
void xml::getrawdata(vector &lt;string&gt;  rawdatavec,vector &lt;string&gt; *XsdData,vector &lt;string&gt; *XmlData)
{
size_t xsdstart, xsdend;
string temp, xsd, xml;
vector &lt;string&gt;::iterator it;

  for ( it=rawdatavec.begin() ; it &lt; rawdatavec.end(); it++ )
    {
//     Xsd Parse
    temp = *it;
    xsdstart = temp.find(&quot;&lt;xsd:complexType&quot;); xsdend = temp.find(&quot;&lt;/xsd:complexType&gt;&quot;); 
    xsd = temp.substr(xsdstart,xsdend - xsdstart +18);
    XsdData-&gt;push_back(xsd);
//     Xml Parse
    xml = temp.substr(xsdend+18);
    XmlData-&gt;push_back(xml);
    }
	delete XsdData, XmlData;
}
</code></pre>
<pre><code class="language-cpp">int base::setdata(vector &lt;string&gt; testdata)
{
	typedef vector &lt;string&gt; Xdat;
	xml mainxml;
	Xdat xsddata;
	Xdat xmldata;

	mainxml.getrawdata(testdata,&amp;xsddata,&amp;xmldata);
	//create xmldata
	string xmlmaindata = mainxml.createxml(getxdata(xsddata),getxdata(xmldata));
    //clear data form the pointer
	xmldata.clear();
	xsddata.clear();
	//set local variables
	string xslfile,userid,userpdf,printpdf,rmpdf;
	//ID for incoming testdata
	userid = generrateuuid();
	//create Pdf file path with the usrid
	userpdf=&quot;/tmp/&quot;; userpdf+=userid; userpdf+=&quot;.pdf&quot;;
	//Create a pdf
	mainxml.xml2pdf(xmlmaindata, &quot;/local/administrator/Dokumente/test.xsl&quot;, userpdf);
	//print pdf
	printpdf=&quot;lpr &quot;; printpdf+=userpdf;
	//system(stringtoconstchar(printpdf));
	//remove pdf
	rmpdf=&quot;rm &quot;; rmpdf+=userpdf;
	system(stringtoconstchar(rmpdf));
	// write in postgresql db und development
	database maindb;
	maindb.exec(userid,xmlmaindata);
	return 0;
}
</code></pre>
<p>Bekomme Speicher zugriff Fehler kann den Fehler nicht finden, wenn ich das delete in der Funktion getrawdata wegnehme ist speicher zugriff Fehler weg aber der Pointer füllt sich und wird nicht gelösche so das sich die Daten immer an sammeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1759274</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1759274</guid><dc:creator><![CDATA[Tuxist]]></dc:creator><pubDate>Wed, 12 Aug 2009 09:06:25 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer Prob on Wed, 12 Aug 2009 09:15:33 GMT]]></title><description><![CDATA[<p>Du hast nirgendwo ein new, also darfst du auch kein delete aufrufen! Wenn sich dein vector immer weiter füllt, liegt das wahrscheinlich daran, dass du das einfach so programmiert hast...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1759279</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1759279</guid><dc:creator><![CDATA[_matze]]></dc:creator><pubDate>Wed, 12 Aug 2009 09:15:33 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer Prob on Wed, 12 Aug 2009 09:20:14 GMT]]></title><description><![CDATA[<p>Tuxist schrieb:</p>
<blockquote>
<pre><code class="language-cpp">delete XsdData, XmlData;
</code></pre>
</blockquote>
<p>Tut mit ziemlicher Sicherheit nicht das, was du erwartest.</p>
<blockquote>
<p>Pointer füllt sich und wird nicht gelösche so das sich die Daten immer an sammeln.</p>
</blockquote>
<p>Pointer füllen sich nicht. Was willst du damit sagen?</p>
<p>Du solltest dir nochmal das Buch/Tutorial deiner Wahl vornehmen und dich mit den Container-Methoden beschäftigen. std::vector&lt;&gt;::erase() könnte sein was du suchst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1759288</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1759288</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Wed, 12 Aug 2009 09:20:14 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer Prob on Wed, 12 Aug 2009 09:26:29 GMT]]></title><description><![CDATA[<p>re:</p>
<pre><code class="language-cpp">xmldata.clear();
    xsddata.clear();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1759294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1759294</guid><dc:creator><![CDATA[Tuxist]]></dc:creator><pubDate>Wed, 12 Aug 2009 09:26:29 GMT</pubDate></item><item><title><![CDATA[Reply to Pointer Prob on Wed, 12 Aug 2009 09:33:02 GMT]]></title><description><![CDATA[<p>ich habe es:<br />
XsdData-&gt;clear(); XmlData-&gt;clear();</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1759306</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1759306</guid><dc:creator><![CDATA[Tuxist]]></dc:creator><pubDate>Wed, 12 Aug 2009 09:33:02 GMT</pubDate></item></channel></rss>