<?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[copy bei vector funktioniert nicht]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>mein Problem sieht folgendermassen aus:</p>
<pre><code class="language-cpp">else if(szBuffer.find(&quot;*:&quot;,0) != string::npos)
		{
			szBuffer.erase(pos1,2);
			vector&lt;double&gt;::size_type size = iAlphaSize;
			vAlphas.reserve(iAlphaSize);

			istream_iterator&lt;double&gt; pos1(file); // Anfangsiterator auf die Datei 
			istream_iterator&lt;double&gt; end; // Enditerator 
			copy(pos1,end,back_inserter(vAlphas)); 
			file.clear();
		}
</code></pre>
<p>Wenn ich das so mache steht leider nachher in meinem vector nichts drin. Woran liegt das? Fuer double existiert doch schon ein istream_operator.</p>
<p>Danke fuer eure Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/134032/copy-bei-vector-funktioniert-nicht</link><generator>RSS for Node</generator><lastBuildDate>Fri, 28 Aug 2026 07:45:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/134032.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 Jan 2006 10:31:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to copy bei vector funktioniert nicht on Mon, 23 Jan 2006 10:31:11 GMT]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>mein Problem sieht folgendermassen aus:</p>
<pre><code class="language-cpp">else if(szBuffer.find(&quot;*:&quot;,0) != string::npos)
		{
			szBuffer.erase(pos1,2);
			vector&lt;double&gt;::size_type size = iAlphaSize;
			vAlphas.reserve(iAlphaSize);

			istream_iterator&lt;double&gt; pos1(file); // Anfangsiterator auf die Datei 
			istream_iterator&lt;double&gt; end; // Enditerator 
			copy(pos1,end,back_inserter(vAlphas)); 
			file.clear();
		}
</code></pre>
<p>Wenn ich das so mache steht leider nachher in meinem vector nichts drin. Woran liegt das? Fuer double existiert doch schon ein istream_operator.</p>
<p>Danke fuer eure Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/973696</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/973696</guid><dc:creator><![CDATA[Samo]]></dc:creator><pubDate>Mon, 23 Jan 2006 10:31:11 GMT</pubDate></item><item><title><![CDATA[Reply to copy bei vector funktioniert nicht on Mon, 23 Jan 2006 10:52:28 GMT]]></title><description><![CDATA[<p>Geht das Programm überhaupt in diesen Abschnitt? (bzw. was genau steht denn in der Eingabedatei bzw. in szBuffer?)</p>
<p>PS: Du verwendest zwei Variablen mit dem Namen pos1 - die eine ist ein Index im String, die andere dein Eingabe-Iterator.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/973714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/973714</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Mon, 23 Jan 2006 10:52:28 GMT</pubDate></item><item><title><![CDATA[Reply to copy bei vector funktioniert nicht on Mon, 23 Jan 2006 10:59:44 GMT]]></title><description><![CDATA[<p>In der Eingabedatei steht sowas:</p>
<p>alphaScale: 0<br />
alphaSize: 449<br />
//:2.26544 -0.0581018 1.63505 -0.0860993 1.54123 -0.0408982 1.03173 -0.057951 1.90069 -0.103795 0.893264 -0.126674 0.0978851 -0.068188 1.33884 -0.0797202 1.71204 -0.0560137 1.92548 -0.0885353 0.430581 -0.109265 1.81014 -0.124152 0.527464 -0.0859725 0.608787 -0.0674382 0.896461 -0.111557 0.991913 -0.118861 2.51753 ....................................</p>
<p>Und der Buffer scheint laut meinem Debug auch die Zahlen einzulesen. Aber er macht das copy scheinbar nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/973719</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/973719</guid><dc:creator><![CDATA[samo]]></dc:creator><pubDate>Mon, 23 Jan 2006 10:59:44 GMT</pubDate></item><item><title><![CDATA[Reply to copy bei vector funktioniert nicht on Mon, 23 Jan 2006 11:03:17 GMT]]></title><description><![CDATA[<p>In dem Fall ist dein Suchstring falsch - und das Programm geht niemals in den Anweisungsblock rein (string::find() unterstützt keine reulären Ausdrücke, also suchst du nach der Zeichenfolge 'Stern' 'Doppelpunkt').</p>
]]></description><link>https://www.c-plusplus.net/forum/post/973723</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/973723</guid><dc:creator><![CDATA[CStoll (off)]]></dc:creator><pubDate>Mon, 23 Jan 2006 11:03:17 GMT</pubDate></item><item><title><![CDATA[Reply to copy bei vector funktioniert nicht on Mon, 23 Jan 2006 11:34:33 GMT]]></title><description><![CDATA[<p>aber wenn ich diesen Code hier ausfuehre funktionierts:</p>
<pre><code class="language-cpp">else if (szBuffer.find(&quot;#:&quot;,0) != string::npos)
		{
			szBuffer.erase(pos1,2);
			vector&lt;PointN&gt;::size_type size = iBaseSize; 
			vBasePoints.reserve(size); 

			istream_iterator&lt;PointN&gt; pos1(file); // Anfangsiterator auf die Datei 
			istream_iterator&lt;PointN&gt; end; // Enditerator 
			copy(pos1,end,back_inserter(vBasePoints)); 
			vBasePoints.clear();
			file.clear();
		}
</code></pre>
<p>und der ist nur zwei if-bloecke vorher. Jetzt verstehe ich halt nicht warum es das eine Mal tut und das andere Mal nicht. Zumal ich fuer diesen Teil hier ja meine istream_operatoren selbst schreiben musste</p>
]]></description><link>https://www.c-plusplus.net/forum/post/973756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/973756</guid><dc:creator><![CDATA[samo]]></dc:creator><pubDate>Mon, 23 Jan 2006 11:34:33 GMT</pubDate></item><item><title><![CDATA[Reply to copy bei vector funktioniert nicht on Mon, 23 Jan 2006 11:42:11 GMT]]></title><description><![CDATA[<p>Setz doch einfach mal einen Breakpoint auf das if - und schau nach, was GENAU in der Variablen &quot;szBuffer&quot; drinsteht. (der Debugger kann unheimlich hilfreich sein, wenn es um die Frage &quot;warum macht mein Programm nicht, was es soll?&quot; geht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/973765</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/973765</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 23 Jan 2006 11:42:11 GMT</pubDate></item><item><title><![CDATA[Reply to copy bei vector funktioniert nicht on Mon, 23 Jan 2006 12:38:45 GMT]]></title><description><![CDATA[<p>ich debugge das Programm ja schon die ganze Zeit. Daher weiss ich ja was in meinem Buffer drinsteht. Aber ich poste es auch ganz gerne nochmal. Mein Buffer beinhaltet:</p>
<p>+ _Ptr 0x00932190 &quot;2.26544 -0.0581018 1.63505 -0.0860993 1.54123 -0.0408982 1.03173 -0.057951 1.90069 -0.103795 0.893264 -0.126674 0.0978851 -0.068188 1.33884 -0.0797202 1.71204 -0.0560137 1.92548 -0.0885353 0.430581 -0.109265 1.81014 -0.124152 0.527464 -0.0859725 0.608787 -0.0674382 0.896461 -0.111557 0.991913 -0.118861 2.51753 -0.125427 1.18846 -0.0835979 0.253864 -0.0686017 -0.0645325 1.42594 -0.0485013 2.01892 -0.0357111 0.775909 -0.10186 0.918793 -0.0799385 1.55584 -0.13235 1.08604 -0.109523 2.0363 -0.112434 1.69881 -0.100993 1.41126 -0.134916 0.578852 -0.120765 2.32543 -0.115104 0.88317 -0.0859018 1.92189 -0.0436902 1.69424 -0.128014 1.77557 -0.0239499 0.580654 -0.0671771 -0.00747349 -0.105051 1.79178 -0.0516218 1.30581 -0.101441 0.22762 -0.0870453 1.1729 -0.125453 1.74801 -0.0943731 0.829034 -0.0440951 0.970039 -0.0495376 1.18546 -0.115395 0.856973 -0.0850508 1.62815 -0.0508084 1.26949 -0.117893 1.10889 -0.0602874 0.0873758 -0.0872659 1.65353 -0.134877 1.1229 -0.058617 1.27774 -0.108421 1.02722 -0.0902843 0&quot; char *</p>
<p>Das heisst da stehen die Werte die ich will auch drin. Warum werden sie dann nicht in meinen Vektor kopiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/973824</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/973824</guid><dc:creator><![CDATA[samo]]></dc:creator><pubDate>Mon, 23 Jan 2006 12:38:45 GMT</pubDate></item><item><title><![CDATA[Reply to copy bei vector funktioniert nicht on Mon, 23 Jan 2006 12:43:30 GMT]]></title><description><![CDATA[<p>samo schrieb:</p>
<blockquote>
<p>+ _Ptr 0x00932190 &quot;2.26544 -0.0581018 1.63505 -0.0860993 1.54123 -0.0408982 1.03173 -0.057951 1.90069 -0.103795 0.893264 -0.126674 0.0978851 -0.068188 1.33884 -0.0797202 1.71204 -0.0560137 1.92548 -0.0885353 0.430581 -0.109265 1.81014 -0.124152 0.527464 -0.0859725 0.608787 -0.0674382 0.896461 -0.111557 0.991913 -0.118861 2.51753 -0.125427 1.18846 -0.0835979 0.253864 -0.0686017 -0.0645325 1.42594 -0.0485013 2.01892 -0.0357111 0.775909 -0.10186 0.918793 -0.0799385 1.55584 -0.13235 1.08604 -0.109523 2.0363 -0.112434 1.69881 -0.100993 1.41126 -0.134916 0.578852 -0.120765 2.32543 -0.115104 0.88317 -0.0859018 1.92189 -0.0436902 1.69424 -0.128014 1.77557 -0.0239499 0.580654 -0.0671771 -0.00747349 -0.105051 1.79178 -0.0516218 1.30581 -0.101441 0.22762 -0.0870453 1.1729 -0.125453 1.74801 -0.0943731 0.829034 -0.0440951 0.970039 -0.0495376 1.18546 -0.115395 0.856973 -0.0850508 1.62815 -0.0508084 1.26949 -0.117893 1.10889 -0.0602874 0.0873758 -0.0872659 1.65353 -0.134877 1.1229 -0.058617 1.27774 -0.108421 1.02722 -0.0902843 0&quot;</p>
</blockquote>
<p>Da steht aber kein &quot;*:&quot; drin. (wie gesagt, bist du dir sicher, daß das Programm überhaupt in den if()-Zweig reingeht?)</p>
<p>PS: Wenn du schon deine gesamte Zahlenliste in den Buffer gelesen hast, steht der Lesezeiger der Datei am Ende der Liste, also liest das copy() die nächste Zeile deiner Datei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/973830</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/973830</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 23 Jan 2006 12:43:30 GMT</pubDate></item><item><title><![CDATA[Reply to copy bei vector funktioniert nicht on Mon, 23 Jan 2006 13:14:02 GMT]]></title><description><![CDATA[<blockquote>
<p>Da steht aber kein &quot;*:&quot; drin. (wie gesagt, bist du dir sicher, daß das Programm überhaupt in den if()-Zweig reingeht?)</p>
<p>PS: Wenn du schon deine gesamte Zahlenliste in den Buffer gelesen hast, steht der Lesezeiger der Datei am Ende der Liste, also liest das copy() die nächste Zeile deiner Datei.</p>
</blockquote>
<p>Ja, da steht deshalb kein &quot;*:&quot; drin weil ich das loesche.</p>
<pre><code class="language-cpp">else if(szBuffer.find(&quot;//:&quot;,0) != string::npos)
		{
		      -&gt; szBuffer.erase(pos1,3);
			vector&lt;double&gt;::size_type size = iAlphaSize;
			vAlphas.reserve(iAlphaSize);
.......
</code></pre>
<p>Was mich eben stoert ist dass ich genau das gleiche mache wie oben auch, also mit meinen Points, es da auch funktioniert, nur jetzt hier mit den double ploetzlich nicht mehr, und das kann ja eigentlich nicht sein. Wenn es wirklich so ist dass er das alles in seinen Buffer einliest und dann gar nicht das was er eingelesen hat sondern die naechste Zeile einliest, wie muss ich das dann machen? Meinen Marker, also das *: lassen und meine Daten in die naechste Zeile packen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/973869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/973869</guid><dc:creator><![CDATA[samo]]></dc:creator><pubDate>Mon, 23 Jan 2006 13:14:02 GMT</pubDate></item><item><title><![CDATA[Reply to copy bei vector funktioniert nicht on Mon, 23 Jan 2006 13:23:02 GMT]]></title><description><![CDATA[<p>Entweder du liest von vornherein nur soviel, wie du zur Erkennung tatsächlich benötigst (sprich: zeichenweise bis zum &quot;:&quot;), du setzt deinen Lesezeiger wieder zurück (mit file.seekg(-szBuffer.size(),ios_base::cur);) oder du jagst deinen Puffer durch einen stringstream - such dir's aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/973874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/973874</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 23 Jan 2006 13:23:02 GMT</pubDate></item></channel></rss>